]> granicus.if.org Git - clang/commit
X86 intrinsics: cmpge|gt|nge|ngt_ss|_sd
authorManman Ren <mren@apple.com>
Mon, 17 Jun 2013 19:42:49 +0000 (19:42 +0000)
committerManman Ren <mren@apple.com>
Mon, 17 Jun 2013 19:42:49 +0000 (19:42 +0000)
commit492d84c0f737840d6ff8f894879405dacb3dd88b
treedd4a4c19920c03ad8713df403f94a67d9412aaf0
parentb67313d9136559ec0f8cda43550f73399fe2b76a
X86 intrinsics: cmpge|gt|nge|ngt_ss|_sd

These intrinsics should return the comparision result in the low bits and keep
the high bits of the first source operand.

When calling to builtin functions, the source operands are swapped and the high
bits of the second source operand are kept. To fix the issue, an extra
shufflevector is used.

rdar://14153896

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184110 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Headers/emmintrin.h
lib/Headers/xmmintrin.h
test/CodeGen/avx-cmp-builtins.c