OSDN Git Service
Evan Cheng [Fri, 7 Apr 2006 08:10:09 +0000 (08:10 +0000)]
Temporary workaround for a Mac OSX specific issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27482
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 7 Apr 2006 05:35:45 +0000 (05:35 +0000)]
Added more shuffle tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27481
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 Apr 2006 05:00:02 +0000 (05:00 +0000)]
We have an assertion that checks that we do not encode null values into the
.bc file if they are supposed to be implicit. This is cool, except that it
checked *after* constant expr folding: improving constant expr folding could
cause the .bc reader to assert out on old .bc files. Move the check so that
it checks all simple constants, but no constantexprs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27480
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 Apr 2006 04:44:06 +0000 (04:44 +0000)]
Constant fold extractelement(zero, x) -> zero
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27479
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 Apr 2006 04:41:03 +0000 (04:41 +0000)]
Fix inlining of insert/extract element constantexprs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27478
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 7 Apr 2006 01:27:42 +0000 (01:27 +0000)]
Add code to RemapOperand() to handle Instruction::ExtractElement and
Instruction::InsertElement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27477
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Apr 2006 23:53:29 +0000 (23:53 +0000)]
A MOVPS2SSmr, i.e. _mm_store_ss, encoding bug.
Also MOVPDI2DIrr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27476
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Apr 2006 23:25:41 +0000 (23:25 +0000)]
Remove int_x86_sse_loadh_ps and int_x86_sse_loadl_ps. These are now lowered
by the frontend to shuffles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27475
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Apr 2006 23:23:56 +0000 (23:23 +0000)]
- movlp{s|d} and movhp{s|d} support.
- Normalize shuffle nodes so result vector lower half elements come from the
first vector, the rest come from the second vector. (Except for the
exceptions :-).
- Other minor fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27474
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Apr 2006 23:21:24 +0000 (23:21 +0000)]
New entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27473
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Apr 2006 23:20:43 +0000 (23:20 +0000)]
1. If both vector operands of a vector_shuffle are undef, turn it into an undef.
2. A shuffle mask element can also be an undef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27472
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 6 Apr 2006 23:18:45 +0000 (23:18 +0000)]
This may be overconservative, but it lets the new cfe compile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27471
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 23:16:19 +0000 (23:16 +0000)]
Add an item
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27470
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 23:12:19 +0000 (23:12 +0000)]
Make sure to return the result in the right type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27469
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 6 Apr 2006 22:58:58 +0000 (22:58 +0000)]
Move this to lib/Analysis.
This reduces Core size, yay.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27468
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 22:28:36 +0000 (22:28 +0000)]
Match vpku[hw]um(x,x).
Convert vsldoi(x,x) to work the same way other (x,x) cases work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27467
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 22:27:59 +0000 (22:27 +0000)]
Add testcases for vpku[hw]um(x,x)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27466
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 6 Apr 2006 22:22:08 +0000 (22:22 +0000)]
Add the variable llvmgccmajvers to the site.exp file. This will contain
the major version number of llvm-gcc, as configured.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27465
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 6 Apr 2006 22:15:51 +0000 (22:15 +0000)]
Avoid building the runtime libraries if llvm-gcc version 4 is detected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27464
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 22:02:42 +0000 (22:02 +0000)]
Add support for matching vmrg(x,x) patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27463
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 22:02:11 +0000 (22:02 +0000)]
Add vmrg(x,x) tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27462
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 6 Apr 2006 22:00:36 +0000 (22:00 +0000)]
For support of new GCC v4, obtain the full and major versions of the
llvm-gcc command. This will help distinguish which version is being used
so the makefiles can accommodate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27461
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 6 Apr 2006 21:26:32 +0000 (21:26 +0000)]
fix some linking problems with the new gcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27460
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 21:19:37 +0000 (21:19 +0000)]
Add tests for vmrg[hl]*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27459
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 21:12:48 +0000 (21:12 +0000)]
These intrinsics are now lowered by the FE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27458
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 21:11:54 +0000 (21:11 +0000)]
Pattern match vmrg* instructions, which are now lowered by the CFE into shuffles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27457
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 20:36:51 +0000 (20:36 +0000)]
Infer element types for shuffle masks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27456
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 20:19:52 +0000 (20:19 +0000)]
rename a method, to avoid confusion with llvm intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27455
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 19:21:02 +0000 (19:21 +0000)]
test vperm promotion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27454
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 19:19:38 +0000 (19:19 +0000)]
remove two done items
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27453
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 19:19:17 +0000 (19:19 +0000)]
Lower vperm(x,y, mask) -> shuffle(x,y,mask) if mask is constant. This allows
us to compile oh-so-realistic stuff like this:
vec_vperm(A, B, (vector unsigned char){14});
to:
vspltb v0, v0, 14
instead of:
vspltisb v0, 14
vperm v0, v2, v1, v0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27452
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 18:29:17 +0000 (18:29 +0000)]
this is no longer an intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27451
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 18:26:28 +0000 (18:26 +0000)]
Support pattern matching vsldoi(x,y) and vsldoi(x,x), which allows the f.e. to
lower it and LLVM to have one fewer intrinsic. This implements
CodeGen/PowerPC/vec_shuffle.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27450
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 18:26:13 +0000 (18:26 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27449
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 17:23:16 +0000 (17:23 +0000)]
Compile the vpkuhum/vpkuwum intrinsics into vpkuhum/vpkuwum instead of into
vperm with a perm mask lvx'd from the constant pool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27448
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Apr 2006 06:30:15 +0000 (06:30 +0000)]
Add support for building the LLVM libraries and tools as a Mac OS/X
universal binary, by specifying UNIVERSAL=1 on the make command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27447
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Apr 2006 01:49:20 +0000 (01:49 +0000)]
POR encoded as PAND, yikes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27446
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Apr 2006 23:46:04 +0000 (23:46 +0000)]
An entry about comi / ucomi intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27445
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Apr 2006 23:38:46 +0000 (23:38 +0000)]
Support for comi / ucomi intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27444
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Apr 2006 23:37:18 +0000 (23:37 +0000)]
Added comi and ucomi SSE intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27443
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 22:27:14 +0000 (22:27 +0000)]
Add all of the data stream intrinsics and instructions. woo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27442
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 22:18:01 +0000 (22:18 +0000)]
add altivec ds* intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27441
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 20:15:25 +0000 (20:15 +0000)]
Fix a typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27440
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 17:39:25 +0000 (17:39 +0000)]
Fix CodeGen/PowerPC/2006-04-05-splat-ish.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27439
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 17:38:50 +0000 (17:38 +0000)]
new testcase that was miscompiled to vspltisb
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27438
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Apr 2006 07:20:06 +0000 (07:20 +0000)]
Handle canonical form of e.g.
vector_shuffle v1, v1, <0, 4, 1, 5, 2, 6, 3, 7>
This is turned into
vector_shuffle v1, <undef>, <0, 0, 1, 1, 2, 2, 3, 3>
by dag combiner.
It would match a {p}unpckl on x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27437
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 06:54:42 +0000 (06:54 +0000)]
Make a vector live across blocks have the correct Vec type. This fixes
CodeGen/X86/2006-04-04-CrossBlockCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27436
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 06:54:14 +0000 (06:54 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27435
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Apr 2006 06:11:20 +0000 (06:11 +0000)]
Bogus assert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27434
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Apr 2006 06:09:26 +0000 (06:09 +0000)]
Fallthrough to expand if a VECTOR_SHUFFLE cannot be custom lowered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27433
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Apr 2006 06:07:11 +0000 (06:07 +0000)]
Exapnd a VECTOR_SHUFFLE to a BUILD_VECTOR if target asks for it to be expanded
or custom lowering fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27432
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Wed, 5 Apr 2006 05:19:18 +0000 (05:19 +0000)]
Fix more tablegen depedency issues in Visual Studio.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27431
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Apr 2006 04:40:55 +0000 (04:40 +0000)]
Separate out to 2 test cases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27430
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 5 Apr 2006 03:31:45 +0000 (03:31 +0000)]
make this test less exacting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27429
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 5 Apr 2006 02:42:36 +0000 (02:42 +0000)]
revert this, this is safe, if conservative. leave a note to that effect
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27428
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Apr 2006 01:47:37 +0000 (01:47 +0000)]
Handle v8i16 shuffle that must be broken into a pair of pshufhw / pshuflw.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27427
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Apr 2006 01:44:57 +0000 (01:44 +0000)]
Add a new shuffle test case that requires pshuflw / pshufhw pair.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27426
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 01:16:22 +0000 (01:16 +0000)]
add vsl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27425
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 01:15:54 +0000 (01:15 +0000)]
Get the types right, third time is the charm. Add vsl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27424
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 00:49:48 +0000 (00:49 +0000)]
add vmladduhm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27423
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 00:49:14 +0000 (00:49 +0000)]
correct the type of two intrinsics, add int_ppc_altivec_vmladduhm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27422
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 00:03:57 +0000 (00:03 +0000)]
Add m[tf]vscr instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27421
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Apr 2006 00:03:03 +0000 (00:03 +0000)]
Add m[tf]vscr intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27420
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 23:45:11 +0000 (23:45 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27419
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 23:43:56 +0000 (23:43 +0000)]
Add missing byte merges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27418
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 23:25:02 +0000 (23:25 +0000)]
Add FP -> Int Conversions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27417
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 23:14:00 +0000 (23:14 +0000)]
add average intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27416
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 23:13:21 +0000 (23:13 +0000)]
add average intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27415
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 22:43:55 +0000 (22:43 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27414
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 22:28:35 +0000 (22:28 +0000)]
Fix some broken logic that would cause us to codegen {
2147483647,
2147483647,
2147483647,
2147483647} as 'vspltisb v0, -1'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27413
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Apr 2006 21:49:39 +0000 (21:49 +0000)]
Added pslldq and psrldq.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27412
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Apr 2006 21:48:31 +0000 (21:48 +0000)]
Added intrinsics to match __builtin_ia32_pslldqi128 and
__builtin_ia32_psrldqi128.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27411
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Apr 2006 19:12:30 +0000 (19:12 +0000)]
Minor fixes + naming changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27410
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 19:05:42 +0000 (19:05 +0000)]
How could this ever have worked?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27409
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Apr 2006 18:40:36 +0000 (18:40 +0000)]
PSHUF* encoding bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27405
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 17:39:56 +0000 (17:39 +0000)]
Make sure to consider alignment of variable sized objects.
This, along with the previous dag combiner fix, fixes
CodeGen/Alpha/2006-04-04-zextload.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27403
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 17:39:18 +0000 (17:39 +0000)]
Do not create ZEXTLOAD's unless we are before legalize or the operation is
legal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27402
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 17:38:31 +0000 (17:38 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27401
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 17:25:31 +0000 (17:25 +0000)]
Ask legalize to promote all vector shuffles to be v16i8 instead of having to
handle all 4 PPC vector types. This simplifies the matching code and allows
us to eliminate a bunch of patterns. This also adds cases we were missing,
such as CodeGen/PowerPC/vec_splat.ll:splat_h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27400
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 17:23:26 +0000 (17:23 +0000)]
* Add supprot for SCALAR_TO_VECTOR operations where the input needs to be
promoted/expanded (e.g. SCALAR_TO_VECTOR from i8/i16 on PPC).
* Add support for targets to request that VECTOR_SHUFFLE nodes be promoted
to a canonical type, for example, we only want v16i8 shuffles on PPC.
* Move isShuffleLegal out of TLI into Legalize.
* Teach isShuffleLegal to allow shuffles that need to be promoted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27399
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 17:21:22 +0000 (17:21 +0000)]
Move isShuffleLegal from TLI to Legalize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27398
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 17:20:45 +0000 (17:20 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27397
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 06:11:42 +0000 (06:11 +0000)]
Signed shr by a constant is not the same as sdiv by 2^k
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27395
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Apr 2006 03:04:07 +0000 (03:04 +0000)]
cmpps / cmppd encoding bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27393
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 01:40:06 +0000 (01:40 +0000)]
Fix the types for these intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27392
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 01:02:22 +0000 (01:02 +0000)]
Constant fold bitconvert(undef)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27391
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 00:25:10 +0000 (00:25 +0000)]
Allow targets to have fine grained control over which types various ops get
promoted to, if they desire.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27389
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Apr 2006 00:10:53 +0000 (00:10 +0000)]
Compact some intrinsic definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27388
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 4 Apr 2006 00:05:13 +0000 (00:05 +0000)]
Plug in the byte and short splats
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27387
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 3 Apr 2006 23:58:04 +0000 (23:58 +0000)]
Revert accidentally committed hunks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27386
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 3 Apr 2006 23:55:43 +0000 (23:55 +0000)]
Make sure to mark unsupported SCALAR_TO_VECTOR operations as expand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27385
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 3 Apr 2006 23:49:17 +0000 (23:49 +0000)]
Some SSE1 intrinsics: min, max, sqrt, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27384
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 3 Apr 2006 23:14:49 +0000 (23:14 +0000)]
revert previous patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27383
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 3 Apr 2006 22:30:54 +0000 (22:30 +0000)]
Use movlpd to: store lower f64 extracted from v2f64.
Use movhpd to: store upper f64 extracted from v2f64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27382
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 3 Apr 2006 22:03:29 +0000 (22:03 +0000)]
Force use of a frame-pointer if there is anything on the stack that is aligned
more than the OS keeps the stack aligned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27381
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 3 Apr 2006 21:39:57 +0000 (21:39 +0000)]
The stack alignment is now computed dynamically, just verify it is correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27380
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 3 Apr 2006 21:39:03 +0000 (21:39 +0000)]
Remove unused method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27379
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 3 Apr 2006 21:38:39 +0000 (21:38 +0000)]
Keep track of max stack alignment as objects are added. Remove an obsolete method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27378
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 3 Apr 2006 20:53:28 +0000 (20:53 +0000)]
- More efficient extract_vector_elt with shuffle and movss, movsd, movd, etc.
- Some bug fixes and naming inconsistency fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27377
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 3 Apr 2006 19:28:50 +0000 (19:28 +0000)]
Align vectors to the size in bytes, not bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27376
91177308-0d34-0410-b5e6-
96231b3b80d8