[PATCH] D101605: [PowerPC] Remove extra swap for extract+vperm on LE
Maryam Moghadas via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 25 07:33:20 PDT 2022
maryammo added a comment.
Herald added a project: All.
This patch is functionally incorrect
one.c:
#include <stdio.h>
extern double test10(vector int a, vector int b);
int main() {
double res;
// 0 1 2 3
vector int a = {0x404c38d4, 0x40460e14, 0x404c38d4, 0x7ae147ae};
// 4 5 6 7
vector int b = {0x4027fae1, 0xfdf3b646, 0x47ae147b, 0x40563851};
res = test10(a, b);
printf("res: %f\n", res);
return 0;
}
two.c:
double test10(vector int a, vector int b) {
//vector int c = __builtin_shufflevector(a, b, 5, 2, 3, 7);
// 5 2 3 7
vector int c = { b[1], a[2], a[3], b[3] };
return ((vector double)c)[0] + 11.0;
}
Expected result:
res: 67.444000
Actual result:
res: -45563434706068069391700044011884519815891525610042006390324289980530809059647691943421443695410413568.000000
So we have decided to revert it.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101605/new/
https://reviews.llvm.org/D101605
More information about the llvm-commits
mailing list