llvm-project/llvm/test/CodeGen/Thumb2
Jakob Stoklund Olesen b6a7a89289 Don't kill the base register when expanding strd.
When an strd instruction doesn't get the registers it wants, it can be
expanded into two str instructions. Make sure the first str doesn't kill
the base register in the case where the base and data registers are
identical:

  t2STRi12 %R0<kill>, %R0, 4, pred:14, pred:%noreg
  t2STRi12 %R2<kill>, %R0, 8, pred:14, pred:%noreg

<rdar://problem/11101911>

llvm-svn: 153611
2012-03-28 23:07:03 +00:00
..
2009-07-17-CrossRegClassCopy.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-07-21-ISelBug.ll ARM target code clean up. Check for iOS, not Darwin where it makes sense. 2011-12-20 18:26:50 +00:00
2009-07-23-CPIslandBug.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-07-30-PEICrash.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-01-WrongLDRBOpc.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-02-CoalescerBug.ll Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
2009-08-04-CoalescerAssert.ll Remove the arm_aapcscc marker from the tests. It is the default 2010-06-15 19:04:29 +00:00
2009-08-04-CoalescerBug.ll Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
2009-08-04-ScavengerAssert.ll Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
2009-08-04-SubregLoweringBug.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
2009-08-04-SubregLoweringBug2.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-04-SubregLoweringBug3.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-06-SpDecBug.ll Roll r127459 back in: 2011-03-11 21:52:04 +00:00
2009-08-07-CoalescerBug.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-08-07-NeonFPBug.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-08-ScavengerAssert.ll Remove the arm_aapcscc marker from the tests. It is the default 2010-06-15 19:04:29 +00:00
2009-08-10-ISelBug.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-21-PostRAKill4.ll Move thumb2 tests to the thumb2 directory 2010-09-17 20:34:09 +00:00
2009-09-01-PostRAProlog.ll Move thumb2 tests to the thumb2 directory 2010-09-17 20:34:09 +00:00
2009-09-28-ITBlockBug.ll Roll r127459 back in: 2011-03-11 21:52:04 +00:00
2009-10-15-ITBlockBranch.ll Pseudo-ize the t2LDMIA_RET instruction. 2011-06-30 18:25:42 +00:00
2009-11-01-CopyReg2RegBug.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-11-11-ScavengerAssert.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-11-13-STRDBug.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-12-01-LoopIVUsers.ll ARM VLDR/VSTR instructions don't need a size suffix. 2011-11-14 23:03:21 +00:00
2010-01-06-TailDuplicateLabels.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-01-19-RemovePredicates.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-02-11-phi-cycle.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-02-24-BigStack.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-03-08-addi12-ccout.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-03-15-AsmCCClobber.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
2010-04-15-DynAllocBug.ll Re-apply r112883: 2010-09-03 18:37:12 +00:00
2010-04-26-CopyRegCrash.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-05-24-rsbs.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-06-14-NEONCoalescer.ll ARM VLDR/VSTR instructions don't need a size suffix. 2011-11-14 23:03:21 +00:00
2010-06-19-ITBlockCrash.ll Fix a crash caused by dereference of MBB.end(). rdar://8110842 2010-06-20 00:54:38 +00:00
2010-06-21-TailMergeBug.ll Use MachineBranchProbabilityInfo in If-Conversion instead of its own heuristics. 2011-08-03 22:34:43 +00:00
2010-08-10-VarSizedAllocaBug.ll Fix more register and coalescing dependencies. 2011-05-04 19:02:11 +00:00
2010-11-22-EpilogueBug.ll Fix more places which should be checking for iOS, not darwin. 2012-01-04 01:55:04 +00:00
2010-12-03-AddSPNarrowing.ll The Thumb tADDrSPi instruction is not valid when the destination is SP. 2010-12-04 04:40:19 +00:00
2011-04-21-FILoweringBug.ll In Thumb2 mode, lower frame indix references to: 2011-04-22 01:42:52 +00:00
2011-06-07-TwoAddrEarlyClobber.ll Thumb1 register to register MOV instruction is predicable. 2011-06-30 22:10:46 +00:00
2011-12-16-T2SizeReduceAssert.ll Fix a CPSR liveness tracking bug introduced when I converted IT block to bundle. 2011-12-17 01:25:34 +00:00
2012-01-13-CBNZBug.ll After r147827 and r147902, it's now possible for unallocatable registers to be 2012-01-14 01:53:46 +00:00
aligned-constants.ll Fix off-by-one error in bucket sort. 2011-12-16 23:00:05 +00:00
aligned-spill.ll Enable aligned NEON spilling by default. 2012-01-06 22:19:37 +00:00
bfi.ll Fix more register and coalescing dependencies. 2011-05-04 19:02:11 +00:00
bfx.ll Update ARM DAGtoDAG for matching UBFX instruction for unsigned bitfield 2010-04-22 23:24:18 +00:00
buildvector-crash.ll Fix crash introduced in 116852. 8573915. 2010-10-20 22:03:37 +00:00
carry.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
constant-islands.ll Consider unknown alignment caused by OptimizeThumb2Instructions(). 2012-01-10 22:32:14 +00:00
cortex-fp.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
crash.ll Don't kill the base register when expanding strd. 2012-03-28 23:07:03 +00:00
cross-rc-coalescing-1.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
cross-rc-coalescing-2.ll Roll r127459 back in: 2011-03-11 21:52:04 +00:00
div.ll These tests are looking for library function names that 2010-11-17 21:57:32 +00:00
frameless.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
frameless2.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
ifcvt-neon.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
large-call.ll Enable ARM base pointer when calling functions with large arguments. 2012-02-28 01:15:01 +00:00
large-stack.ll When using the 'push' mnemonic for Thumb2 stmdb, be explicit when it's the 2010-12-03 20:33:01 +00:00
ldr-str-imm12.ll Linear scan is going away. 2011-11-12 22:39:34 +00:00
lit.local.cfg Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu 2012-03-25 09:02:19 +00:00
lsr-deficiency.ll Fix more register allocation sensitive tests. 2011-07-08 00:24:06 +00:00
machine-licm.ll - Add MachineInstrBundle.h and MachineInstrBundle.cpp. This includes a function 2011-12-14 02:11:42 +00:00
mul_const.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
pic-load.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
thumb2-adc.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-add.ll FileCheck-ize another test. Reduces the llc invocations from 8 to 1, and 2011-07-02 21:34:52 +00:00
thumb2-add2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-add3.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-add4.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-add5.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-add6.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-and.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-and2.ll update tests for smarter BIC usage 2010-07-20 16:16:48 +00:00
thumb2-asr.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-asr2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-bcc.ll Convert more tests to new atomic instructions. 2011-09-26 21:36:10 +00:00
thumb2-bfc.ll Fix Thumb2 failures by converting them to FileCheck. 2009-10-27 06:31:02 +00:00
thumb2-bic.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-branch.ll Convert more tests to new atomic instructions. 2011-09-26 21:36:10 +00:00
thumb2-call-tc.ll Temporarily disable tail calls on ARM to work around some linker problems. 2010-08-13 22:43:33 +00:00
thumb2-call.ll Remove tail call to preserve this test. A tail 2010-06-03 21:57:48 +00:00
thumb2-cbnz.ll Allow machine-cse to look across MBB boundary when cse'ing instructions that 2012-01-10 02:02:58 +00:00
thumb2-clz.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
thumb2-cmn.ll Explicitly request physreg coalesing for a bunch of Thumb2 unit tests. 2011-05-04 19:02:07 +00:00
thumb2-cmn2.ll Fix Thumb2 failures by converting them to FileCheck. 2009-10-27 06:31:02 +00:00
thumb2-cmp.ll Explicitly request physreg coalesing for a bunch of Thumb2 unit tests. 2011-05-04 19:02:07 +00:00
thumb2-cmp2.ll Explicitly request physreg coalesing for a bunch of Thumb2 unit tests. 2011-05-04 19:02:07 +00:00
thumb2-eor.ll PR7458: Try commuting Thumb2 instruction operands to put them into 2-address 2010-06-24 16:50:20 +00:00
thumb2-eor2.ll Fix Thumb2 failures by converting them to FileCheck. 2009-10-27 06:31:02 +00:00
thumb2-ifcvt1-tc.ll Temporarily disable tail calls on ARM to work around some linker problems. 2010-08-13 22:43:33 +00:00
thumb2-ifcvt1.ll Use MachineBranchProbabilityInfo in If-Conversion instead of its own heuristics. 2011-08-03 22:34:43 +00:00
thumb2-ifcvt2.ll Fix more places which should be checking for iOS, not darwin. 2012-01-04 01:55:04 +00:00
thumb2-ifcvt3.ll Last round of fixes for movw + movt global address codegen. 2011-01-21 18:55:51 +00:00
thumb2-jtb.ll Enable arm jumpt table adjustment. 2009-11-17 21:24:11 +00:00
thumb2-ldm.ll Fix more places which should be checking for iOS, not darwin. 2012-01-04 01:55:04 +00:00
thumb2-ldr.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-ldr_ext.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-ldr_post.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-ldr_pre.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-ldrb.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-ldrd.ll Switch a few tests off linearscan. 2011-11-12 19:53:52 +00:00
thumb2-ldrh.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-lsl.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-lsl2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-lsr.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-lsr2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-lsr3.ll Make tests more useful. 2011-04-25 10:12:01 +00:00
thumb2-mla.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-mls.ll Thumb2 size reduction fix for tied operands of tMUL. 2012-02-24 00:33:36 +00:00
thumb2-mov.ll Remove ARM isel hacks that fold large immediates into a pair of add, sub, and, 2010-11-17 20:13:28 +00:00
thumb2-mul.ll Thumb2 size reduction fix for tied operands of tMUL. 2012-02-24 00:33:36 +00:00
thumb2-mulhi.ll ARMv7M vs. ARMv7E-M support. 2011-07-01 21:12:19 +00:00
thumb2-mvn.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-mvn2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-neg.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-orn.ll Miss two, PR5307. 2009-11-22 15:35:28 +00:00
thumb2-orn2.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-orr.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-orr2.ll Miss two, PR5307. 2009-11-22 15:35:28 +00:00
thumb2-pack.ll Change ARM PKHTB and PKHBT instructions to use a shift_imm operand to avoid 2010-08-17 17:23:19 +00:00
thumb2-rev.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
thumb2-rev16.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-ror.ll Teach Thumb2 isel to fold and->rotr ==> ROR. 2011-04-29 14:18:15 +00:00
thumb2-rsb.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-rsb2.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-sbc.ll Don't depend on the optimization reverted in r134067. 2011-06-29 14:07:18 +00:00
thumb2-select.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-select_xform.ll - Add MachineInstrBundle.h and MachineInstrBundle.cpp. This includes a function 2011-12-14 02:11:42 +00:00
thumb2-shifter.ll Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack 2010-05-05 23:44:43 +00:00
thumb2-smla.ll ARMv7M vs. ARMv7E-M support. 2011-07-01 21:12:19 +00:00
thumb2-smul.ll ARMv7M vs. ARMv7E-M support. 2011-07-01 21:12:19 +00:00
thumb2-spill-q.ll Add ARM patterns to match EXTRACT_SUBVECTOR nodes. 2011-01-07 04:59:04 +00:00
thumb2-str.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-str_post.ll Fix Thumb2 failures by converting them to FileCheck. 2009-10-27 06:31:02 +00:00
thumb2-str_pre.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-strb.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-strh.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-sub.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-sub2.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-sub3.ll Thumb2 and ARM add/subtract with carry fixes. 2011-04-23 03:55:32 +00:00
thumb2-sub4.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-sub5.ll Thumb2 and ARM add/subtract with carry fixes. 2011-04-23 03:55:32 +00:00
thumb2-sxt-uxt.ll Fix up the patterns for SXTB, SXTH, UXTB, and UXTH so that they are correctly active without HasT2ExtractPack. PR10611. 2011-08-08 19:49:37 +00:00
thumb2-sxt_rot.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
thumb2-tbb.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-tbh.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
thumb2-teq.ll Improve codegen for select's: 2011-07-13 00:42:17 +00:00
thumb2-teq2.ll Improve codegen for select's: 2011-07-13 00:42:17 +00:00
thumb2-tst.ll Improve codegen for select's: 2011-07-13 00:42:17 +00:00
thumb2-tst2.ll Improve codegen for select's: 2011-07-13 00:42:17 +00:00
thumb2-uxt_rot.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
thumb2-uxtb.ll Recommit r129383. PreRA scheduler heuristic fixes: VRegCycle, TokenFactor latency. 2011-04-13 00:38:32 +00:00
tls1.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
tls2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00