- Mar 31, 2006
-
-
Chris Lattner authored
needs to be promoted or expanded. Relegalize the scalar store once created. This fixes CodeGen/Generic/vector.ll:test1 on non-SSE x86 targets. llvm-svn: 27293
-
Jeff Cohen authored
llvm-svn: 27292
-
Chris Lattner authored
llvm-svn: 27291
-
Chris Lattner authored
identical instructions into a single instruction. For example, for: void test(vector float *x, vector float *y, int *P) { int v = vec_any_out(*x, *y); *x = (vector float)vec_cmpb(*x, *y); *P = v; } we now generate: _test: mfspr r2, 256 oris r6, r2, 49152 mtspr 256, r6 lvx v0, 0, r4 lvx v1, 0, r3 vcmpbfp. v0, v1, v0 mfcr r4, 2 stvx v0, 0, r3 rlwinm r3, r4, 27, 31, 31 xori r3, r3, 1 stw r3, 0(r5) mtspr 256, r2 blr instead of: _test: mfspr r2, 256 oris r6, r2, 57344 mtspr 256, r6 lvx v0, 0, r4 lvx v1, 0, r3 vcmpbfp. v2, v1, v0 mfcr r4, 2 *** vcmpbfp v0, v1, v0 rlwinm r4, r4, 27, 31, 31 stvx v0, 0, r3 xori r3, r4, 1 stw r3, 0(r5) mtspr 256, r2 blr Testcase here: CodeGen/PowerPC/vcmp-fold.ll llvm-svn: 27290
-
Chris Lattner authored
llvm-svn: 27289
-
Chris Lattner authored
llvm-svn: 27288
-
Chris Lattner authored
llvm-svn: 27287
-
Chris Lattner authored
llvm-svn: 27286
-
Chris Lattner authored
predicates to VCMPo nodes. llvm-svn: 27285
-
Chris Lattner authored
llvm-svn: 27284
-
Chris Lattner authored
validate the prototype of intrinsic functions. This prevents GCC from going crazy and inlining too much stuff, eventually running out of memory. llvm-svn: 27283
-
Chris Lattner authored
llvm-svn: 27282
-
Chris Lattner authored
independently, batch up checks so that identically typed intrinsics share verifier code. This dramatically reduces the size of the verifier function, which should help avoid GCC running out of memory compiling Verifier.cpp. llvm-svn: 27281
-
Chris Lattner authored
decimated vectors. This fixes UnitTests/Vector/sumarray-dbl.c llvm-svn: 27280
-
Chris Lattner authored
handling cases where the vector elements need promotion, expansion, and when the vector type itself needs to be decimated. llvm-svn: 27278
-
Chris Lattner authored
llvm-svn: 27277
-
Chris Lattner authored
llvm-svn: 27276
-
Evan Cheng authored
llvm-svn: 27275
-
Evan Cheng authored
llvm-svn: 27274
-
Chris Lattner authored
unpromoted element type. llvm-svn: 27273
-
Evan Cheng authored
llvm-svn: 27272
-
Evan Cheng authored
llvm-svn: 27271
-
Chris Lattner authored
llvm-svn: 27270
-
Chris Lattner authored
llvm-svn: 27269
-
Chris Lattner authored
llvm-svn: 27268
-
Chris Lattner authored
llvm-svn: 27267
-
Chris Lattner authored
directly correspond to intrinsics. llvm-svn: 27266
-
Chris Lattner authored
llvm-svn: 27265
-
Chris Lattner authored
llvm-svn: 27264
-
Chris Lattner authored
llvm-svn: 27263
-
Chris Lattner authored
llvm-svn: 27262
-
Chris Lattner authored
llvm-svn: 27261
-
Chris Lattner authored
llvm-svn: 27260
-
- Mar 30, 2006
-
-
Evan Cheng authored
Use pshufd, pshuhw, and pshulw to shuffle v4f32 if shufps doesn't match. Use shufps to shuffle v4f32 if pshufd, pshuhw, and pshulw don't match. llvm-svn: 27259
-
Chris Lattner authored
llvm-svn: 27258
-
Evan Cheng authored
llvm-svn: 27257
-
Evan Cheng authored
llvm-svn: 27256
-
Evan Cheng authored
llvm-svn: 27255
-
Evan Cheng authored
For example, packsswb actually creates a v16i8 from a pair of v8i16. But since the intrinsic specification forces the output type to match the operands. llvm-svn: 27254
-
Evan Cheng authored
llvm-svn: 27253
-