forked from OSchip/llvm-project
9816d55776
We were turning roundss/sd/ps/pd intrinsics with immediates of 1 or 2 into llvm.floor/ceil. The llvm.ceil/floor intrinsics are supposed to correspond to the libm functions. For the libm functions we need to disable the precision exception so the llvm.floor/ceil functions should always map to encodings 0x9 and 0xA. We had a mix of isel patterns where some used 0x9 and 0xA and others used 0x1 and 0x2. We need to be consistent and always use 0x9 and 0xA. Since we have no way in isel of knowing where the llvm.ceil/floor came from, we can't map X86 specific intrinsics with encodings 1 or 2 to it. We could map 0x9 and 0xA to llvm.ceil/floor instead, but I'd really like to see a use case and optimization advantage first. I've left the backend test cases to show the blend we now emit without the extra isel patterns. But I've removed the InstCombine tests completely. llvm-svn: 361425 |
||
---|---|---|
.. | ||
X86FsubCmpCombine.ll | ||
addcarry.ll | ||
blend_x86.ll | ||
clmulqdq.ll | ||
lit.local.cfg | ||
pr2645-1.ll | ||
shufflemask-undef.ll | ||
x86-avx2.ll | ||
x86-avx512.ll | ||
x86-bmi-tbm.ll | ||
x86-crc32-demanded.ll | ||
x86-f16c.ll | ||
x86-fma.ll | ||
x86-insertps.ll | ||
x86-masked-memops.ll | ||
x86-movmsk.ll | ||
x86-muldq.ll | ||
x86-pack.ll | ||
x86-pshufb.ll | ||
x86-sse.ll | ||
x86-sse2.ll | ||
x86-sse4a.ll | ||
x86-sse41.ll | ||
x86-vec_demanded_elts.ll | ||
x86-vector-shifts.ll | ||
x86-vpermil.ll | ||
x86-xop.ll |