[llvm-commits] [llvm] r52353 - in /llvm/trunk: include/llvm/Intrinsics.td include/llvm/IntrinsicsX86.td test/CodeGen/X86/commute-intrinsic.ll utils/TableGen/CodeGenDAGPatterns.cpp utils/TableGen/CodeGenDAGPatterns.h utils/TableGen/CodeGenIntrinsics.h utils/TableGen/CodeGenTarget.cpp
Evan Cheng
evan.cheng at apple.com
Mon Jun 16 14:16:31 PDT 2008
Fixed. Thanks.
Evan
On Jun 16, 2008, at 1:53 PM, Dan Gohman wrote:
>
> On Jun 16, 2008, at 1:29 PM, Evan Cheng wrote:
>> // Integer shift ops.
>> @@ -553,24 +553,24 @@
>> let TargetPrefix = "x86" in { // All intrinsics start with
>> "llvm.x86.".
>> def int_x86_ssse3_phadd_w :
>> GCCBuiltin<"__builtin_ia32_phaddw">,
>> Intrinsic<[llvm_v4i16_ty, llvm_v4i16_ty,
>> - llvm_v4i16_ty], [IntrNoMem]>;
>> + llvm_v4i16_ty], [IntrNoMem, Commutative]>;
>> def int_x86_ssse3_phadd_w_128 :
>> GCCBuiltin<"__builtin_ia32_phaddw128">,
>> Intrinsic<[llvm_v8i16_ty, llvm_v8i16_ty,
>> - llvm_v8i16_ty], [IntrNoMem]>;
>> + llvm_v8i16_ty], [IntrNoMem, Commutative]>;
>>
>> def int_x86_ssse3_phadd_d :
>> GCCBuiltin<"__builtin_ia32_phaddd">,
>> Intrinsic<[llvm_v2i32_ty, llvm_v2i32_ty,
>> - llvm_v2i32_ty], [IntrNoMem]>;
>> + llvm_v2i32_ty], [IntrNoMem, Commutative]>;
>> def int_x86_ssse3_phadd_d_128 :
>> GCCBuiltin<"__builtin_ia32_phaddd128">,
>> Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty,
>> - llvm_v4i32_ty], [IntrNoMem]>;
>> + llvm_v4i32_ty], [IntrNoMem, Commutative]>;
>>
>> def int_x86_ssse3_phadd_sw :
>> GCCBuiltin<"__builtin_ia32_phaddsw">,
>> Intrinsic<[llvm_v4i16_ty, llvm_v4i16_ty,
>> - llvm_v4i16_ty], [IntrNoMem]>;
>> + llvm_v4i16_ty], [IntrNoMem, Commutative]>;
>> def int_x86_ssse3_phadd_sw_128 :
>> GCCBuiltin<"__builtin_ia32_phaddsw128">,
>> Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty,
>> - llvm_v4i32_ty], [IntrNoMem]>;
>> + llvm_v4i32_ty], [IntrNoMem, Commutative]>;
>
> Hi Evan,
>
> Horizontal-add instructions are not commutative. It looks like
> X86InstrSSE.td is mistaken about this too.
>
> Dan
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list