llvm-project/llvm/test/CodeGen/X86/GlobalISel
Serge Pavlov b3913a9cdf [GlobalISel] Do not crash on widening vector result
Function buildCopyToRegs did not handle properly the case when it should
make wider vector result. It happened, for example, in a function that
returns value of type <2 x f32>, which should be widen to <4 x f32> to
fit XMM register. The function eventually calls
MachineIRBuilder.buildUnmerge, which does not expect that only one
destination register is specified.

Now this case is treated specifically in buildCopyToRegs.

Differential Revision: https://reviews.llvm.org/D128546
2022-09-30 21:30:55 +07:00
..
GV.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
add-ext.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
add-scalar.ll
add-vec.ll
and-scalar.ll
ashr-scalar.ll
avoid-matchtable-crash.mir
binop.ll
br.ll
brcond.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
callingconv.ll [x86] use zero-extending load of a byte outside of loops too (2nd try) 2022-07-19 21:27:08 -04:00
calllowering-nocrashret.ll
cmp.ll
constant.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
ext-x86-64.ll
ext.ll
fadd-scalar.ll
fconstant.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
fdiv-scalar.ll
fmul-scalar.ll
fpext-scalar.ll
frameIndex.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
fsub-scalar.ll
inttoptr.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
irtranslator-callingconv.ll [X86][GlobalISel] Add support for sret demotion 2022-09-20 11:47:53 +07:00
legalize-add-v128.mir
legalize-add-v256.mir
legalize-add-v512.mir
legalize-add.mir
legalize-and-scalar.mir
legalize-ashr-scalar.mir [GlobalISel] Improve elimination of dead instructions in legalizer 2021-09-20 13:00:58 +02:00
legalize-brcond.mir
legalize-cmp.mir
legalize-constant.mir
legalize-ext-x86-64.mir
legalize-ext.mir
legalize-fadd-scalar.mir
legalize-fdiv-scalar.mir
legalize-fmul-scalar.mir
legalize-fneg.mir
legalize-fpext-scalar.mir
legalize-fptrunc-scalar.mir
legalize-fsub-scalar.mir
legalize-insert-vec256.mir
legalize-insert-vec512.mir
legalize-lshr-scalar.mir [GlobalISel] Improve elimination of dead instructions in legalizer 2021-09-20 13:00:58 +02:00
legalize-memop-scalar-32.mir
legalize-memop-scalar-64.mir
legalize-mul-scalar.mir
legalize-mul-v128.mir
legalize-mul-v256.mir
legalize-mul-v512.mir
legalize-or-scalar.mir
legalize-phi.mir
legalize-ptr-add.mir
legalize-shl-scalar.mir [GlobalISel] Improve elimination of dead instructions in legalizer 2021-09-20 13:00:58 +02:00
legalize-sub-v128.mir
legalize-sub-v256.mir
legalize-sub-v512.mir
legalize-sub.mir
legalize-trunc.mir
legalize-undef.mir
legalize-xor-scalar.mir
lshr-scalar.ll
memop-scalar-x32.ll [x86] use zero-extending load of a byte outside of loops too (2nd try) 2022-07-19 21:27:08 -04:00
memop-scalar.ll [x86] use zero-extending load of a byte outside of loops too (2nd try) 2022-07-19 21:27:08 -04:00
memop-vec.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
mul-scalar.ll
mul-vec.ll
or-scalar.ll
phi.ll
ptr-add.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
ptrtoint.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
regbankselect-AVX2.mir
regbankselect-AVX512.mir
regbankselect-X32.mir
regbankselect-X86_64.mir
roundeven.ll
select-GV-32.mir
select-GV-64.mir
select-add-v128.mir
select-add-v256.mir
select-add-v512.mir
select-add-x32.mir
select-add.mir
select-and-scalar.mir
select-ashr-scalar.mir
select-blsi.mir
select-blsr.mir
select-br.mir
select-brcond.mir
select-cmp.mir
select-constant.mir
select-copy.mir
select-ext-x86-64.mir
select-ext.mir [X86] Regenerate select-ext.ll test for D125604 2022-05-18 12:25:45 +01:00
select-extract-vec256.mir
select-extract-vec512.mir
select-fadd-scalar.mir
select-fconstant.mir X86/GlobalISel: Use LLT form of getMachineMemOperand 2022-03-31 18:49:23 -04:00
select-fdiv-scalar.mir
select-fmul-scalar.mir
select-fpext-scalar.mir
select-fptrunc-scalar.mir
select-fsub-scalar.mir
select-inc.mir
select-insert-vec256.mir
select-insert-vec512.mir
select-intrinsic-x86-flags-read-u32.mir
select-leaf-constant.mir
select-lshr-scalar.mir
select-memop-scalar-unordered.mir
select-memop-scalar-x32.mir
select-memop-scalar.mir
select-memop-v128.mir
select-memop-v256.mir
select-memop-v512.mir
select-merge-vec256.mir
select-merge-vec512.mir
select-mul-scalar.mir
select-mul-vec.mir
select-or-scalar.mir
select-phi.mir [update_mir_test_checks.py] Use -NEXT FileCheck directories 2021-09-20 12:55:56 +01:00
select-ptr-add.mir
select-shl-scalar.mir
select-sub-v128.mir
select-sub-v256.mir
select-sub-v512.mir
select-sub.mir
select-trunc.mir
select-undef.mir
select-unmerge-vec256.mir
select-unmerge-vec512.mir
select-xor-scalar.mir
shl-scalar-widening.ll
shl-scalar.ll
sub-scalar.ll
sub-vec.ll
trunc.ll
undef.ll
x32-irtranslator.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
x32-select-frameIndex.mir
x86-calllowering-dbg-trunc.ll [GlobalISel] Allow DBG_VALUE to use undefined vregs before LiveDebugValues. 2021-12-05 15:55:59 -05:00
x86-legalize-GV.mir
x86-legalize-inttoptr.mir
x86-legalize-ptrtoint.mir
x86-legalize-sdiv.mir
x86-legalize-srem.mir
x86-legalize-udiv.mir
x86-legalize-urem.mir
x86-select-frameIndex.mir
x86-select-inttoptr.mir
x86-select-ptrtoint.mir
x86-select-sdiv.mir
x86-select-srem.mir
x86-select-trap.mir
x86-select-udiv.mir
x86-select-urem.mir
x86_64-fallback.ll [X86] Migrate tests to use opaque pointers (NFC) 2022-06-22 14:38:25 +02:00
x86_64-irtranslator-struct-return.ll
x86_64-irtranslator.ll [GlobalISel] Do not crash on widening vector result 2022-09-30 21:30:55 +07:00
x86_64-legalize-GV.mir
x86_64-legalize-fcmp.mir
x86_64-legalize-fptosi.mir
x86_64-legalize-inttoptr.mir
x86_64-legalize-ptrtoint.mir
x86_64-legalize-sdiv.mir
x86_64-legalize-sitofp.mir
x86_64-legalize-srem.mir
x86_64-legalize-udiv.mir
x86_64-legalize-urem.mir
x86_64-legalize-zext.mir
x86_64-select-fcmp.mir
x86_64-select-fptosi.mir
x86_64-select-frameIndex.mir
x86_64-select-inttoptr.mir
x86_64-select-ptrtoint.mir
x86_64-select-sdiv.mir
x86_64-select-sitofp.mir
x86_64-select-srem.mir
x86_64-select-udiv.mir
x86_64-select-urem.mir
x86_64-select-zext.mir
xor-scalar.ll