Chris Lattner
1659f983ff
Fix a typo: Instr* -> Intr*
...
llvm-svn: 27568
2006-04-10 22:02:59 +00:00
Evan Cheng
0a8da94ae5
__builtin_ia32_loadup{s|d}, __builtin_ia32_storeup{s|d}
...
llvm-svn: 27561
2006-04-10 21:09:59 +00:00
Andrew Lenharth
b3f434b83d
Add a simple pass to make sure that all (non-library) calls to malloc and free
...
are visible to analysis as intrinsics. That is, make sure someone doesn't pass
free around by address in some struct (as happens in say 176.gcc).
This doesn't get rid of any indirect calls, just ensure calls to free and malloc
are always direct.
llvm-svn: 27560
2006-04-10 19:26:09 +00:00
Chris Lattner
a4a7e59c52
Add a new VSELECT node.
...
llvm-svn: 27541
2006-04-08 22:16:01 +00:00
Chris Lattner
80450dd773
Add methods to check insert/extract element instructions for validity
...
llvm-svn: 27522
2006-04-08 04:04:54 +00:00
Chris Lattner
e2d0c1084a
Add a new shufflevector instruction
...
llvm-svn: 27507
2006-04-08 01:15:18 +00:00
Evan Cheng
e55651f4d7
Fix int_x86_sse_stmxcsr and int_x86_sse_ldmxcsr. Not directly translated from
...
gcc builtins. They are not lowered into these intrinsics which take a ptr
argument.
llvm-svn: 27505
2006-04-08 00:47:01 +00:00
Evan Cheng
36de346008
Remove int_x86_sse_storeh_ps and int_x86_sse_storel_ps. These are now lowered
...
by the frontend.
llvm-svn: 27495
2006-04-07 21:18:40 +00:00
Jim Laskey
fabb0ba736
Make sure that debug labels are defined within the same section and after the
...
entry point of a function.
llvm-svn: 27494
2006-04-07 20:44:42 +00:00
Jim Laskey
b93bc75add
Foundation for call frame information.
...
llvm-svn: 27491
2006-04-07 16:34:46 +00:00
Evan Cheng
f49979cf28
Remove int_x86_sse_loadh_ps and int_x86_sse_loadl_ps. These are now lowered
...
by the frontend to shuffles.
llvm-svn: 27475
2006-04-06 23:25:41 +00:00
Chris Lattner
b19cdc8fc1
These intrinsics are now lowered by the FE.
...
llvm-svn: 27458
2006-04-06 21:12:48 +00:00
Chris Lattner
09b9548243
this is no longer an intrinsic.
...
llvm-svn: 27451
2006-04-06 18:29:17 +00:00
Evan Cheng
f1a2e421c3
Added comi and ucomi SSE intrinsics.
...
llvm-svn: 27443
2006-04-05 23:37:18 +00:00
Chris Lattner
86763bafa7
add altivec ds* intrinsics
...
llvm-svn: 27441
2006-04-05 22:18:01 +00:00
Chris Lattner
986d42c2e9
Get the types right, third time is the charm. Add vsl.
...
llvm-svn: 27424
2006-04-05 01:15:54 +00:00
Chris Lattner
f41b7d5a80
correct the type of two intrinsics, add int_ppc_altivec_vmladduhm
...
llvm-svn: 27422
2006-04-05 00:49:14 +00:00
Chris Lattner
0afabdfdaf
Add m[tf]vscr intrinsics.
...
llvm-svn: 27420
2006-04-05 00:03:03 +00:00
Chris Lattner
e7a52b473f
Add missing byte merges.
...
llvm-svn: 27418
2006-04-04 23:43:56 +00:00
Chris Lattner
ab137b431f
Add FP -> Int Conversions
...
llvm-svn: 27417
2006-04-04 23:25:02 +00:00
Chris Lattner
39a966beec
add average intrinsics.
...
llvm-svn: 27415
2006-04-04 23:13:21 +00:00
Evan Cheng
a4d3c6df75
Added intrinsics to match __builtin_ia32_pslldqi128 and
...
__builtin_ia32_psrldqi128.
llvm-svn: 27411
2006-04-04 21:48:31 +00:00
Chris Lattner
657e2d1d80
How could this ever have worked?
...
llvm-svn: 27409
2006-04-04 19:05:42 +00:00
Chris Lattner
6ce700fbae
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
llvm-svn: 27403
2006-04-04 17:39:56 +00:00
Chris Lattner
1dc3c03ee7
Move isShuffleLegal from TLI to Legalize.
...
llvm-svn: 27398
2006-04-04 17:21:22 +00:00
Chris Lattner
a1fc0eb694
Fix the types for these intrinsics.
...
llvm-svn: 27392
2006-04-04 01:40:06 +00:00
Chris Lattner
9925c6018f
Allow targets to have fine grained control over which types various ops get
...
promoted to, if they desire.
llvm-svn: 27389
2006-04-04 00:25:10 +00:00
Chris Lattner
b46d7d9fc4
Keep track of max stack alignment as objects are added. Remove an obsolete method.
...
llvm-svn: 27378
2006-04-03 21:38:39 +00:00
Chris Lattner
29156e5094
shrinkify intrinsics more by using some local classes
...
llvm-svn: 27373
2006-04-03 17:20:06 +00:00
Chris Lattner
c0cba5e03f
Add some classes to make it easier to define intrinsics. Add min/max intrinsics.
...
llvm-svn: 27371
2006-04-03 15:43:07 +00:00
Chris Lattner
99a3213376
simplify this method
...
llvm-svn: 27338
2006-04-02 02:28:52 +00:00
Chris Lattner
a76347d917
Fix Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll and
...
PR726 by performing consistent signed division, not consistent unsigned
division when evaluating scev's. Do not touch udivs.
llvm-svn: 27326
2006-04-01 04:48:52 +00:00
Evan Cheng
aeb1560ea5
Added haddp{s|d} and hsubp{s|d} intrinsics.
...
llvm-svn: 27309
2006-03-31 21:28:46 +00:00
Chris Lattner
8e0dfe133c
Modify the TargetLowering::getPackedTypeBreakdown method to also return the
...
unpromoted element type.
llvm-svn: 27273
2006-03-31 00:46:36 +00:00
Chris Lattner
557951b354
Add a method useful for decimating vectors.
...
llvm-svn: 27269
2006-03-31 00:28:23 +00:00
Chris Lattner
e35e1db8c2
fix incorrect prototypes
...
llvm-svn: 27267
2006-03-30 23:32:58 +00:00
Chris Lattner
69148453d0
Add vector multiply, multiply sum, pack, unpack, and lvsl/lvsr intrinsics.
...
llvm-svn: 27258
2006-03-30 18:52:02 +00:00
Evan Cheng
57d481a78a
Add support for _mm_cmp{cc}_ss and _mm_cmp{cc}_ps intrinsics
...
llvm-svn: 27256
2006-03-30 06:21:22 +00:00
Evan Cheng
82d2a6910f
Add 128-bit pmovmskb intrinsic support.
...
llvm-svn: 27255
2006-03-30 00:33:26 +00:00
Evan Cheng
9ebe75e915
Change SSE pack operation definitions to fit what the intrinsics expected.
...
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
2006-03-29 23:53:14 +00:00
Evan Cheng
1b19ed24d6
Add SSE2 integer pack with saturation intrinsics.
...
llvm-svn: 27253
2006-03-29 23:09:19 +00:00
Evan Cheng
84c8b5bcd9
Add more SSE intrinsics
...
llvm-svn: 27247
2006-03-29 06:07:16 +00:00
Chris Lattner
83ec289ebf
Add a new node
...
llvm-svn: 27230
2006-03-28 19:54:11 +00:00
Jim Laskey
4c2d4d1912
Refactor address attributes. Add base register to frame info.
...
llvm-svn: 27226
2006-03-28 14:58:32 +00:00
Jim Laskey
eb38a3e83a
Expose base register for DwarfWriter. Refactor code accordingly.
...
llvm-svn: 27225
2006-03-28 13:48:33 +00:00
Nate Begeman
5a82c8ccbd
Add a few more altivec intrinsics
...
llvm-svn: 27215
2006-03-28 04:15:58 +00:00
Chris Lattner
1a5116bd0c
These don't directly map to gcc intrinsics any more.
...
llvm-svn: 27213
2006-03-28 03:52:36 +00:00
Chris Lattner
176d16aec7
Add some more intrinsics: rotates, fp rounds, and random other fp instructions.
...
llvm-svn: 27208
2006-03-28 02:28:48 +00:00
Evan Cheng
d10153ba72
getVectorTyppe(MVT::i64, 2) ==> MVT::v2i64.
...
llvm-svn: 27207
2006-03-28 01:59:17 +00:00
Chris Lattner
76ce849af5
Add lvxl
...
llvm-svn: 27206
2006-03-28 01:49:27 +00:00