http://llvm.org/bugs/show_bug.cgi?id=9850
Summary: _mm_cmpgt_epi32() is broken
Product: new-bugs
Version: 2.9
Platform: PC
OS/Version: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: new bugs
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
_mm_cmpgt_epi32() does not generate PCMPGT.
--- begin test case (cmpgt.cpp) ---
#include <emmintrin.h>
__m128i has_carry(__m128i lhs, __m128i rhs)
{
__m128i add = _mm_add_epi32(lhs, rhs);
__m128i carry = _mm_cmpgt_epi32(lhs, add);
return carry;
}
--- end test case ---
--- begin output ---
$ clang++ -O -S -msse2 -D _mm_malloc cmpgt.cpp
$ cat cmpgt.s
.def __Z9has_carryDv2_xS_;
.scl 2;
.type 32;
.endef
.text
.globl __Z9has_carryDv2_xS_
.align 16, 0x90
__Z9has_carryDv2_xS_:
movdqa %xmm1, %xmm0
psrad $31, %xmm0
ret
--- end output ---
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs