1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
Commit Graph

31 Commits

Author SHA1 Message Date
Bill Wendling
9dc2bd7973 Modify the intrinsics pattern to separate out the "return" types from the
"parameter" types. An intrinsic can now return a multiple return values like
this:

  def add_with_overflow : Intrinsic<[llvm_i32_ty, llvm_i1_ty],
                                    [LLVMMatchType<0>, LLVMMatchType<0>]>;

llvm-svn: 59237
2008-11-13 09:08:33 +00:00
Dale Johannesen
95a40e3045 Implement __sync_synchronize on ppc32. Patch by Gary Benson.
llvm-svn: 55186
2008-08-22 17:20:54 +00:00
Chris Lattner
7a9b0bf0eb remove attribution from a variety of miscellaneous files.
llvm-svn: 45425
2007-12-29 22:59:10 +00:00
Reid Spencer
c8ac2ee78c Convert the intrinsic function definitions to use llvm_i32_ty instead of
llvm_uint_ty or llvm_int_ty. Similarly for i8, i16 and i64

llvm-svn: 32802
2006-12-31 22:24:55 +00:00
Chris Lattner
eb7ccde058 add missing dcb* intrinsics
llvm-svn: 31147
2006-10-24 01:07:39 +00:00
Chris Lattner
1bee472fca vpkuwus didn't work, due to this typo
llvm-svn: 29776
2006-08-18 19:25:35 +00:00
Chris Lattner
bfbee64ecf Add PowerPC intrinsics to support dcbz[l]
llvm-svn: 28696
2006-06-06 21:29:23 +00:00
Chris Lattner
1659f983ff Fix a typo: Instr* -> Intr*
llvm-svn: 27568
2006-04-10 22:02:59 +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
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
Chris Lattner
a1fc0eb694 Fix the types for these intrinsics.
llvm-svn: 27392
2006-04-04 01:40:06 +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
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
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
Chris Lattner
76ce849af5 Add lvxl
llvm-svn: 27206
2006-03-28 01:49:27 +00:00
Chris Lattner
6917dae72b Divirge from the GCC specification of the load/store intrinsics: only take
one pointer operand, instead of a pointer and an offset.  The FE will lower
to this canonicalized form.

llvm-svn: 27186
2006-03-27 22:38:39 +00:00
Chris Lattner
735fa11e56 fix spelling :(
llvm-svn: 27184
2006-03-27 22:07:12 +00:00
Chris Lattner
37cd00ed2a add some more intrinsics.
llvm-svn: 27183
2006-03-27 22:05:34 +00:00
Chris Lattner
0069646b1d Add predicate comparison intrinsics.
llvm-svn: 27145
2006-03-26 07:50:25 +00:00
Chris Lattner
d8f528f04f Split the PPC and X86 intrinsics out to their own files.
llvm-svn: 27141
2006-03-26 02:37:19 +00:00