[PATCH] AARCH64_BE load/store rules fix for ARM ABI

Albrecht Kadlec akadlec at a-bix.com
Mon Mar 3 12:19:11 PST 2014


  The promised updated patch including:
  all single element LDn/STn allowed
  LDR/STR for vector regs for BE & LE
  LE tests fixed
  BE tests added

  PTAL

Hi jmolloy, t.p.northover,

http://llvm-reviews.chandlerc.com/D2884

CHANGE SINCE LAST DIFF
  http://llvm-reviews.chandlerc.com/D2884?vs=7367&id=7483#toc

Files:
  lib/Target/AArch64/AArch64InstrInfo.td
  lib/Target/AArch64/AArch64InstrNEON.td
  test/CodeGen/AArch64/128bit_load_store.ll
  test/CodeGen/AArch64/addsub-shifted.ll
  test/CodeGen/AArch64/addsub.ll
  test/CodeGen/AArch64/addsub_ext.ll
  test/CodeGen/AArch64/alloca.ll
  test/CodeGen/AArch64/analyze-branch.ll
  test/CodeGen/AArch64/assertion-rc-mismatch.ll
  test/CodeGen/AArch64/atomic-ops-not-barriers.ll
  test/CodeGen/AArch64/atomic-ops.ll
  test/CodeGen/AArch64/basic-pic.ll
  test/CodeGen/AArch64/bitfield-insert-0.ll
  test/CodeGen/AArch64/bitfield-insert.ll
  test/CodeGen/AArch64/bitfield.ll
  test/CodeGen/AArch64/blockaddress.ll
  test/CodeGen/AArch64/bool-loads.ll
  test/CodeGen/AArch64/breg.ll
  test/CodeGen/AArch64/callee-save.ll
  test/CodeGen/AArch64/code-model-large-abs.ll
  test/CodeGen/AArch64/compare-branch.ll
  test/CodeGen/AArch64/complex-copy-noneon.ll
  test/CodeGen/AArch64/concatvector-v8i8-bug.ll
  test/CodeGen/AArch64/cond-sel.ll
  test/CodeGen/AArch64/cpus.ll
  test/CodeGen/AArch64/directcond.ll
  test/CodeGen/AArch64/dp-3source.ll
  test/CodeGen/AArch64/dp1.ll
  test/CodeGen/AArch64/dp2.ll
  test/CodeGen/AArch64/extern-weak.ll
  test/CodeGen/AArch64/extract.ll
  test/CodeGen/AArch64/fastcc-reserved.ll
  test/CodeGen/AArch64/fastcc.ll
  test/CodeGen/AArch64/fcmp.ll
  test/CodeGen/AArch64/fcvt-fixed.ll
  test/CodeGen/AArch64/fcvt-int.ll
  test/CodeGen/AArch64/flags-multiuse.ll
  test/CodeGen/AArch64/floatdp_1source.ll
  test/CodeGen/AArch64/floatdp_2source.ll
  test/CodeGen/AArch64/fp-cond-sel.ll
  test/CodeGen/AArch64/fp-dp3.ll
  test/CodeGen/AArch64/fp128-folding.ll
  test/CodeGen/AArch64/fp128.ll
  test/CodeGen/AArch64/fpimm.ll
  test/CodeGen/AArch64/frameaddr.ll
  test/CodeGen/AArch64/func-argpassing.ll
  test/CodeGen/AArch64/func-calls.ll
  test/CodeGen/AArch64/global-alignment.ll
  test/CodeGen/AArch64/got-abuse.ll
  test/CodeGen/AArch64/i128-align.ll
  test/CodeGen/AArch64/illegal-float-ops.ll
  test/CodeGen/AArch64/init-array.ll
  test/CodeGen/AArch64/inline-asm-constraints-badI.ll
  test/CodeGen/AArch64/inline-asm-constraints-badK.ll
  test/CodeGen/AArch64/inline-asm-constraints-badK2.ll
  test/CodeGen/AArch64/inline-asm-constraints-badL.ll
  test/CodeGen/AArch64/inline-asm-modifiers.ll
  test/CodeGen/AArch64/jump-table.ll
  test/CodeGen/AArch64/large-consts.ll
  test/CodeGen/AArch64/large-frame.ll
  test/CodeGen/AArch64/ldst-regoffset.ll
  test/CodeGen/AArch64/ldst-unscaledimm.ll
  test/CodeGen/AArch64/ldst-unsignedimm.ll
  test/CodeGen/AArch64/literal_pools.ll
  test/CodeGen/AArch64/local_vars.ll
  test/CodeGen/AArch64/logical-imm.ll
  test/CodeGen/AArch64/logical_shifted_reg.ll
  test/CodeGen/AArch64/mature-mc-support.ll
  test/CodeGen/AArch64/movw-consts.ll
  test/CodeGen/AArch64/movw-shift-encoding.ll
  test/CodeGen/AArch64/neon-2velem-high.ll
  test/CodeGen/AArch64/neon-2velem.ll
  test/CodeGen/AArch64/neon-3vdiff.ll
  test/CodeGen/AArch64/neon-aba-abd.ll
  test/CodeGen/AArch64/neon-across.ll
  test/CodeGen/AArch64/neon-add-pairwise.ll
  test/CodeGen/AArch64/neon-add-sub.ll
  test/CodeGen/AArch64/neon-bitcast.ll
  test/CodeGen/AArch64/neon-bitwise-instructions.ll
  test/CodeGen/AArch64/neon-bsl.ll
  test/CodeGen/AArch64/neon-compare-instructions.ll
  test/CodeGen/AArch64/neon-copyPhysReg-tuple.ll
  test/CodeGen/AArch64/neon-crypto.ll
  test/CodeGen/AArch64/neon-diagnostics.ll
  test/CodeGen/AArch64/neon-extract.ll
  test/CodeGen/AArch64/neon-facge-facgt.ll
  test/CodeGen/AArch64/neon-fma.ll
  test/CodeGen/AArch64/neon-fpround_f128.ll
  test/CodeGen/AArch64/neon-frsqrt-frecp.ll
  test/CodeGen/AArch64/neon-halving-add-sub.ll
  test/CodeGen/AArch64/neon-load-store-v1i32.ll
  test/CodeGen/AArch64/neon-max-min-pairwise.ll
  test/CodeGen/AArch64/neon-max-min.ll
  test/CodeGen/AArch64/neon-misc.ll
  test/CodeGen/AArch64/neon-mla-mls.ll
  test/CodeGen/AArch64/neon-mov.ll
  test/CodeGen/AArch64/neon-mul-div.ll
  test/CodeGen/AArch64/neon-or-combine.ll
  test/CodeGen/AArch64/neon-perm.ll
  test/CodeGen/AArch64/neon-rounding-halving-add.ll
  test/CodeGen/AArch64/neon-rounding-shift.ll
  test/CodeGen/AArch64/neon-saturating-add-sub.ll
  test/CodeGen/AArch64/neon-saturating-rounding-shift.ll
  test/CodeGen/AArch64/neon-saturating-shift.ll
  test/CodeGen/AArch64/neon-scalar-abs.ll
  test/CodeGen/AArch64/neon-scalar-add-sub.ll
  test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
  test/CodeGen/AArch64/neon-scalar-by-elem-mul.ll
  test/CodeGen/AArch64/neon-scalar-compare.ll
  test/CodeGen/AArch64/neon-scalar-copy.ll
  test/CodeGen/AArch64/neon-scalar-cvt.ll
  test/CodeGen/AArch64/neon-scalar-ext.ll
  test/CodeGen/AArch64/neon-scalar-extract-narrow.ll
  test/CodeGen/AArch64/neon-scalar-fabd.ll
  test/CodeGen/AArch64/neon-scalar-fcvt.ll
  test/CodeGen/AArch64/neon-scalar-fp-compare.ll
  test/CodeGen/AArch64/neon-scalar-mul.ll
  test/CodeGen/AArch64/neon-scalar-neg.ll
  test/CodeGen/AArch64/neon-scalar-recip.ll
  test/CodeGen/AArch64/neon-scalar-reduce-pairwise.ll
  test/CodeGen/AArch64/neon-scalar-rounding-shift.ll
  test/CodeGen/AArch64/neon-scalar-saturating-add-sub.ll
  test/CodeGen/AArch64/neon-scalar-saturating-rounding-shift.ll
  test/CodeGen/AArch64/neon-scalar-saturating-shift.ll
  test/CodeGen/AArch64/neon-scalar-shift-imm.ll
  test/CodeGen/AArch64/neon-scalar-shift.ll
  test/CodeGen/AArch64/neon-select_cc.ll
  test/CodeGen/AArch64/neon-shift-left-long.ll
  test/CodeGen/AArch64/neon-shift.ll
  test/CodeGen/AArch64/neon-shl-ashr-lshr.ll
  test/CodeGen/AArch64/neon-simd-ldst-multi-elem.ll
  test/CodeGen/AArch64/neon-simd-ldst.ll
  test/CodeGen/AArch64/neon-simd-post-ldst-multi-elem.ll
  test/CodeGen/AArch64/neon-simd-post-ldst-one.ll
  test/CodeGen/AArch64/neon-simd-shift.ll
  test/CodeGen/AArch64/neon-simd-tbl.ll
  test/CodeGen/AArch64/neon-simd-vget.ll
  test/CodeGen/AArch64/neon-spill-fpr8-fpr16.ll
  test/CodeGen/AArch64/neon-truncStore-extLoad.ll
  test/CodeGen/AArch64/neon-v1i1-setcc.ll
  test/CodeGen/AArch64/neon-vector-list-spill.ll
  test/CodeGen/AArch64/regress-bitcast-formals.ll
  test/CodeGen/AArch64/regress-f128csel-flags.ll
  test/CodeGen/AArch64/regress-fp128-livein.ll
  test/CodeGen/AArch64/regress-tail-livereg.ll
  test/CodeGen/AArch64/regress-tblgen-chains.ll
  test/CodeGen/AArch64/regress-w29-reserved-with-fp.ll
  test/CodeGen/AArch64/regress-wzr-allocatable.ll
  test/CodeGen/AArch64/returnaddr.ll
  test/CodeGen/AArch64/setcc-takes-i32.ll
  test/CodeGen/AArch64/sext_inreg.ll
  test/CodeGen/AArch64/sibling-call.ll
  test/CodeGen/AArch64/sincos-expansion.ll
  test/CodeGen/AArch64/sincospow-vector-expansion.ll
  test/CodeGen/AArch64/tail-call.ll
  test/CodeGen/AArch64/tls-dynamic-together.ll
  test/CodeGen/AArch64/tls-dynamics.ll
  test/CodeGen/AArch64/tls-execs.ll
  test/CodeGen/AArch64/tst-br.ll
  test/CodeGen/AArch64/variadic.ll
  test/CodeGen/AArch64/zero-reg.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2884.3.patch
Type: text/x-patch
Size: 123852 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140303/fe0a08e7/attachment.bin>


More information about the llvm-commits mailing list