summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2019-11-07 12:37:24 -0800
committerCraig Topper <craig.topper@intel.com>2019-11-07 12:41:57 -0800
commit96119586c9968f3c1e56513d52956f5738cf4d26 (patch)
treef6f646cd65138b2789757eb799fd6970e5eb404b /clang/lib/CodeGen/CodeGenModule.h
parent2b943c46873a6411c5a79dcd708d8c72ce5b3675 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud