1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Commit Graph

30 Commits

Author SHA1 Message Date
Evan Cheng
e521de4e60 Added X86 SSE2 intrinsics which can be represented as vector_shuffles. This is
a temporary workaround for the 2-wide vector_shuffle problem (i.e. its mask
would have type v2i32 which is not legal).

llvm-svn: 27964
2006-04-24 23:34:56 +00:00
Evan Cheng
32c4470374 Last few SSE3 intrinsics.
llvm-svn: 27711
2006-04-14 21:59:03 +00:00
Evan Cheng
184264997e Misc. SSE2 intrinsics: clflush, lfench, mfence
llvm-svn: 27699
2006-04-14 07:43:12 +00:00
Evan Cheng
360a73046f pcmpeq* and pcmpgt* intrinsics.
llvm-svn: 27685
2006-04-14 01:39:53 +00:00
Evan Cheng
18a1a0e199 psll*, psrl*, and psra* intrinsics.
llvm-svn: 27684
2006-04-14 00:14:05 +00:00
Evan Cheng
a27ec55558 pmin, pmax, and psad intrinsics.
llvm-svn: 27646
2006-04-13 06:09:41 +00:00
Evan Cheng
d5bd292d89 pmul*, pmadd*, and pavg* intrinsics.
llvm-svn: 27642
2006-04-13 05:09:06 +00:00
Evan Cheng
2f634fac6d padds{b|w}, paddus{b|w}, psubs{b|w}, psubus{b|w} intrinsics.
llvm-svn: 27639
2006-04-13 00:43:35 +00:00
Evan Cheng
537bdb370c Naming inconsistency.
llvm-svn: 27638
2006-04-13 00:00:23 +00:00
Evan Cheng
8768f25c80 SSE / SSE2 conversion intrinsics.
llvm-svn: 27637
2006-04-12 23:42:44 +00:00
Evan Cheng
fbdf6ece4a Various SSE2 conversion intrinsics
llvm-svn: 27603
2006-04-12 05:20:24 +00:00
Evan Cheng
68b885f50c Added __builtin_ia32_storelv4si, __builtin_ia32_movqv4si,
__builtin_ia32_loadlv4si, __builtin_ia32_loaddqu, __builtin_ia32_storedqu.

llvm-svn: 27599
2006-04-11 22:28:25 +00:00
Evan Cheng
c0848b1eaf gcc lower SSE prefetch into generic prefetch intrinsic. Need to add support
later.

llvm-svn: 27591
2006-04-11 18:04:57 +00:00
Evan Cheng
7a9fca11b5 Misc. intrinsics.
llvm-svn: 27590
2006-04-11 17:35:57 +00:00
Evan Cheng
798acd4094 movnt* and maskmovdqu intrinsics
llvm-svn: 27587
2006-04-11 06:57:30 +00:00
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
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
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
Evan Cheng
f1a2e421c3 Added comi and ucomi SSE intrinsics.
llvm-svn: 27443
2006-04-05 23:37:18 +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
Evan Cheng
aeb1560ea5 Added haddp{s|d} and hsubp{s|d} intrinsics.
llvm-svn: 27309
2006-03-31 21:28:46 +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
Evan Cheng
aba79c636f Intrinsics naming convention change.
llvm-svn: 27172
2006-03-27 08:23:12 +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