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 /llvm/test/CodeGen/WebAssembly/non-executable-stack.ll | |
| 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 'llvm/test/CodeGen/WebAssembly/non-executable-stack.ll')
0 files changed, 0 insertions, 0 deletions

