diff options
author | Craig Topper <craig.topper@intel.com> | 2019-11-07 12:37:24 -0800 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-11-07 12:41:57 -0800 |
commit | 96119586c9968f3c1e56513d52956f5738cf4d26 (patch) | |
tree | f6f646cd65138b2789757eb799fd6970e5eb404b /clang/lib/CodeGen/CodeGenModule.h | |
parent | 2b943c46873a6411c5a79dcd708d8c72ce5b3675 (diff) | |
download | bcm5719-llvm-96119586c9968f3c1e56513d52956f5738cf4d26.tar.gz bcm5719-llvm-96119586c9968f3c1e56513d52956f5738cf4d26.zip |
[InstCombine] Add test cases to show bad canonicalization of bitcasts between x86_mmx and <1 x i64>.
As the test cases show, we end up with an insert/extract and a
bitcast to/from i64. x86_mmx is for some purposes conceptually a
vector. We shouldn't be adding scalar conversions around it.
Since _m64 is defined as <1 x i64> and intrinsics use x86_mmx
as their input/output these extra scalar operations prevent
the X86 backend from generating good code especially on 32-bit
targets where i64 gets split.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
0 files changed, 0 insertions, 0 deletions