[llvm] r356954 - [AArch64] Prefer "mov" over "orr" to materialize constants.
Eli Friedman via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 25 14:25:28 PDT 2019
Author: efriedma
Date: Mon Mar 25 14:25:28 2019
New Revision: 356954
URL: http://llvm.org/viewvc/llvm-project?rev=356954&view=rev
Log:
[AArch64] Prefer "mov" over "orr" to materialize constants.
This is generally more readable due to the way the assembler aliases
work.
(This causes a lot of test changes, but it's not really as scary as it
looks at first glance; it's just mechanically changing a bunch of checks
for orr to check for mov instead.)
Differential Revision: https://reviews.llvm.org/D59720
Modified:
llvm/trunk/lib/Target/AArch64/AArch64ExpandImm.cpp
llvm/trunk/test/CodeGen/AArch64/arm64-aapcs.ll
llvm/trunk/test/CodeGen/AArch64/arm64-abi.ll
llvm/trunk/test/CodeGen/AArch64/arm64-abi_align.ll
llvm/trunk/test/CodeGen/AArch64/arm64-addrmode.ll
llvm/trunk/test/CodeGen/AArch64/arm64-build-vector.ll
llvm/trunk/test/CodeGen/AArch64/arm64-ccmp.ll
llvm/trunk/test/CodeGen/AArch64/arm64-coalescing-MOVi32imm.ll
llvm/trunk/test/CodeGen/AArch64/arm64-csel.ll
llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-call.ll
llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-fcmp.ll
llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel.ll
llvm/trunk/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
llvm/trunk/test/CodeGen/AArch64/arm64-inline-asm.ll
llvm/trunk/test/CodeGen/AArch64/arm64-memcpy-inline.ll
llvm/trunk/test/CodeGen/AArch64/arm64-misaligned-memcpy-inline.ll
llvm/trunk/test/CodeGen/AArch64/arm64-movi.ll
llvm/trunk/test/CodeGen/AArch64/arm64-neon-compare-instructions.ll
llvm/trunk/test/CodeGen/AArch64/arm64-patchpoint-webkit_jscc.ll
llvm/trunk/test/CodeGen/AArch64/atomic-ops-lse.ll
llvm/trunk/test/CodeGen/AArch64/branch-relax-asm.ll
llvm/trunk/test/CodeGen/AArch64/branch-relax-bcc.ll
llvm/trunk/test/CodeGen/AArch64/bswap-known-bits.ll
llvm/trunk/test/CodeGen/AArch64/cmpxchg-idioms.ll
llvm/trunk/test/CodeGen/AArch64/cond-sel-value-prop.ll
llvm/trunk/test/CodeGen/AArch64/cond-sel.ll
llvm/trunk/test/CodeGen/AArch64/dag-combine-invaraints.ll
llvm/trunk/test/CodeGen/AArch64/extract-bits.ll
llvm/trunk/test/CodeGen/AArch64/extract-lowbits.ll
llvm/trunk/test/CodeGen/AArch64/fabs.ll
llvm/trunk/test/CodeGen/AArch64/fast-isel-addressing-modes.ll
llvm/trunk/test/CodeGen/AArch64/fast-isel-gep.ll
llvm/trunk/test/CodeGen/AArch64/fold-global-offsets.ll
llvm/trunk/test/CodeGen/AArch64/funnel-shift.ll
llvm/trunk/test/CodeGen/AArch64/i128-align.ll
llvm/trunk/test/CodeGen/AArch64/isinf.ll
llvm/trunk/test/CodeGen/AArch64/known-never-nan.ll
llvm/trunk/test/CodeGen/AArch64/ldst-paired-aliasing.ll
llvm/trunk/test/CodeGen/AArch64/machine-outliner-tail.ll
llvm/trunk/test/CodeGen/AArch64/machine-outliner-thunk.ll
llvm/trunk/test/CodeGen/AArch64/machine-outliner.ll
llvm/trunk/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll
llvm/trunk/test/CodeGen/AArch64/madd-combiner.ll
llvm/trunk/test/CodeGen/AArch64/movw-consts.ll
llvm/trunk/test/CodeGen/AArch64/neon-compare-instructions.ll
llvm/trunk/test/CodeGen/AArch64/optimize-imm.ll
llvm/trunk/test/CodeGen/AArch64/redundant-copy-elim-empty-mbb.ll
llvm/trunk/test/CodeGen/AArch64/sadd_sat.ll
llvm/trunk/test/CodeGen/AArch64/sadd_sat_vec.ll
llvm/trunk/test/CodeGen/AArch64/sdivpow2.ll
llvm/trunk/test/CodeGen/AArch64/seh-finally.ll
llvm/trunk/test/CodeGen/AArch64/selectcc-to-shiftand.ll
llvm/trunk/test/CodeGen/AArch64/signed-truncation-check.ll
llvm/trunk/test/CodeGen/AArch64/ssub_sat.ll
llvm/trunk/test/CodeGen/AArch64/ssub_sat_vec.ll
llvm/trunk/test/CodeGen/AArch64/swifterror.ll
llvm/trunk/test/CodeGen/AArch64/tst-br.ll
llvm/trunk/test/CodeGen/AArch64/urem-seteq.ll
llvm/trunk/test/CodeGen/AArch64/vec_cttz.ll
llvm/trunk/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
llvm/trunk/test/CodeGen/AArch64/wineh-try-catch-cbz.ll
llvm/trunk/test/CodeGen/AArch64/wineh-try-catch.ll
Modified: llvm/trunk/lib/Target/AArch64/AArch64ExpandImm.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64ExpandImm.cpp?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AArch64/AArch64ExpandImm.cpp (original)
+++ llvm/trunk/lib/Target/AArch64/AArch64ExpandImm.cpp Mon Mar 25 14:25:28 2019
@@ -318,8 +318,11 @@ void expandMOVImm(uint64_t Imm, unsigned
ZeroChunks++;
}
- // FIXME: Prefer MOVZ/MOVN over ORR because of the rules for the "mov"
- // alias.
+ // Prefer MOVZ/MOVN over ORR because of the rules for the "mov" alias.
+ if ((BitSize / 16) - OneChunks <= 1 || (BitSize / 16) - ZeroChunks <= 1) {
+ expandMOVImmSimple(Imm, BitSize, OneChunks, ZeroChunks, Insn);
+ return;
+ }
// Try a single ORR.
uint64_t UImm = Imm << (64 - BitSize) >> (64 - BitSize);
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-aapcs.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-aapcs.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-aapcs.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-aapcs.ll Mon Mar 25 14:25:28 2019
@@ -91,7 +91,7 @@ declare void @variadic(i32 %a, ...)
define void @test_variadic() {
call void(i32, ...) @variadic(i32 0, i64 1, double 2.0)
; CHECK: fmov d0, #2.0
-; CHECK: orr w1, wzr, #0x1
+; CHECK: mov w1, #1
; CHECK: bl variadic
ret void
}
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-abi.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-abi.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-abi.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-abi.ll Mon Mar 25 14:25:28 2019
@@ -145,7 +145,7 @@ entry:
; CHECK-LABEL: test4
; CHECK: str [[REG_1:d[0-9]+]], [sp, #8]
; CHECK: str [[REG_2:w[0-9]+]], [sp]
-; CHECK: orr w0, wzr, #0x3
+; CHECK: mov w0, #3
%0 = load double, double* %in, align 8
%call = tail call double @args_f64(double 3.000000e+00, double %0, double %0,
double %0, double %0, double %0, double %0, double %0,
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-abi_align.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-abi_align.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-abi_align.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-abi_align.ll Mon Mar 25 14:25:28 2019
@@ -294,7 +294,7 @@ entry:
; Space for s1 is allocated at fp-24 = sp+56
; FAST: sub x[[A:[0-9]+]], x29, #24
; Call memcpy with size = 24 (0x18)
-; FAST: orr {{x[0-9]+}}, xzr, #0x18
+; FAST: mov {{x[0-9]+}}, #24
; Space for s2 is allocated at sp+32
; FAST: add x[[A:[0-9]+]], sp, #32
; FAST: bl _memcpy
@@ -337,7 +337,7 @@ entry:
; Space for s1 is allocated at fp-24
; FAST: sub x[[A:[0-9]+]], x29, #24
; Call memcpy with size = 24 (0x18)
-; FAST: orr {{x[0-9]+}}, xzr, #0x18
+; FAST: mov {{x[0-9]+}}, #24
; FAST: bl _memcpy
; Space for s2 is allocated at fp-48
; FAST: sub x[[B:[0-9]+]], x29, #48
@@ -515,7 +515,7 @@ entry:
; FAST-LABEL: i64_split
; FAST: ldr x7, [{{x[0-9]+}}]
; FAST: mov x[[R0:[0-9]+]], sp
-; FAST: orr w[[R1:[0-9]+]], wzr, #0x8
+; FAST: mov w[[R1:[0-9]+]], #8
; FAST: str w[[R1]], {{\[}}x[[R0]]{{\]}}
%0 = load i64, i64* bitcast (%struct.s41* @g41 to i64*), align 16
%call = tail call i32 @callee_i64(i32 1, i32 2, i32 3, i32 4, i32 5,
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-addrmode.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-addrmode.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-addrmode.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-addrmode.ll Mon Mar 25 14:25:28 2019
@@ -36,7 +36,7 @@ define void @t3(i64* %object) {
; base + unsigned offset (> imm12 * size of type in bytes)
; CHECK: @t4
-; CHECK: orr w[[NUM:[0-9]+]], wzr, #0x8000
+; CHECK: mov w[[NUM:[0-9]+]], #32768
; CHECK: ldr xzr, [x0, x[[NUM]]]
; CHECK: ret
define void @t4(i64* %object) {
@@ -58,7 +58,7 @@ define void @t5(i64 %a) {
; base + reg + imm
; CHECK: @t6
; CHECK: add [[ADDREG:x[0-9]+]], x1, x0, lsl #3
-; CHECK-NEXT: orr w[[NUM:[0-9]+]], wzr, #0x8000
+; CHECK-NEXT: mov w[[NUM:[0-9]+]], #32768
; CHECK: ldr xzr, [x{{[0-9]+}}, x[[NUM]]]
; CHECK: ret
define void @t6(i64 %a, i64* %object) {
@@ -71,7 +71,7 @@ define void @t6(i64 %a, i64* %object) {
; Test base + wide immediate
define void @t7(i64 %a) {
; CHECK-LABEL: t7:
-; CHECK: orr w[[NUM:[0-9]+]], wzr, #0xffff
+; CHECK: mov w[[NUM:[0-9]+]], #65535
; CHECK-NEXT: ldr xzr, [x0, x[[NUM]]]
%1 = add i64 %a, 65535 ;0xffff
%2 = inttoptr i64 %1 to i64*
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-build-vector.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-build-vector.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-build-vector.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-build-vector.ll Mon Mar 25 14:25:28 2019
@@ -69,7 +69,7 @@ define void @widen_f16_build_vector(half
define <1 x i64> @single_element_vector_i64(<1 x i64> %arg) {
; CHECK-LABEL: single_element_vector_i64:
; CHECK: // %bb.0: // %entry
-; CHECK-NEXT: orr w8, wzr, #0x1
+; CHECK-NEXT: mov w8, #1
; CHECK-NEXT: fmov d1, x8
; CHECK-NEXT: add d0, d0, d1
; CHECK-NEXT: ret
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-ccmp.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-ccmp.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-ccmp.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-ccmp.ll Mon Mar 25 14:25:28 2019
@@ -111,7 +111,7 @@ if.end:
; CHECK: b.le [[BLOCK:LBB[0-9_]+]]
; CHECK: [[BLOCK]]:
; CHECK: bl _foo
-; CHECK: orr w0, wzr, #0x7
+; CHECK: mov w0, #7
define i32 @speculate_division(i32 %a, i32 %b) nounwind ssp {
entry:
%cmp = icmp sgt i32 %a, 0
@@ -323,7 +323,7 @@ define i64 @gccbug(i64 %x0, i64 %x1) {
; CHECK: cmp x0, #2
; CHECK-NEXT: ccmp x0, #4, #4, ne
; CHECK-NEXT: ccmp x1, #0, #0, eq
-; CHECK-NEXT: orr w[[REGNUM:[0-9]+]], wzr, #0x1
+; CHECK-NEXT: mov w[[REGNUM:[0-9]+]], #1
; CHECK-NEXT: cinc x0, x[[REGNUM]], eq
; CHECK-NEXT: ret
%cmp0 = icmp eq i64 %x1, 0
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-coalescing-MOVi32imm.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-coalescing-MOVi32imm.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-coalescing-MOVi32imm.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-coalescing-MOVi32imm.ll Mon Mar 25 14:25:28 2019
@@ -1,8 +1,8 @@
; RUN: llc < %s | FileCheck %s
-; CHECK: orr w0, wzr, #0x1
+; CHECK: mov w0, #1
; CHECK-NEXT: bl foo
-; CHECK-NEXT: orr w0, wzr, #0x1
+; CHECK-NEXT: mov w0, #1
; CHECK-NEXT: bl foo
target triple = "aarch64--linux-android"
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-csel.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-csel.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-csel.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-csel.ll Mon Mar 25 14:25:28 2019
@@ -113,7 +113,7 @@ define i32 @foo9(i32 %v) nounwind readno
entry:
; CHECK-LABEL: foo9:
; CHECK: cmp w0, #0
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x4
+; CHECK: mov w[[REG:[0-9]+]], #4
; CHECK: cinv w0, w[[REG]], eq
%tobool = icmp ne i32 %v, 0
%cond = select i1 %tobool, i32 4, i32 -5
@@ -124,7 +124,7 @@ define i64 @foo10(i64 %v) nounwind readn
entry:
; CHECK-LABEL: foo10:
; CHECK: cmp x0, #0
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x4
+; CHECK: mov w[[REG:[0-9]+]], #4
; CHECK: cinv x0, x[[REG]], eq
%tobool = icmp ne i64 %v, 0
%cond = select i1 %tobool, i64 4, i64 -5
@@ -135,7 +135,7 @@ define i32 @foo11(i32 %v) nounwind readn
entry:
; CHECK-LABEL: foo11:
; CHECK: cmp w0, #0
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x4
+; CHECK: mov w[[REG:[0-9]+]], #4
; CHECK: cneg w0, w[[REG]], eq
%tobool = icmp ne i32 %v, 0
%cond = select i1 %tobool, i32 4, i32 -4
@@ -146,7 +146,7 @@ define i64 @foo12(i64 %v) nounwind readn
entry:
; CHECK-LABEL: foo12:
; CHECK: cmp x0, #0
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x4
+; CHECK: mov w[[REG:[0-9]+]], #4
; CHECK: cneg x0, x[[REG]], eq
%tobool = icmp ne i64 %v, 0
%cond = select i1 %tobool, i64 4, i64 -4
@@ -179,7 +179,7 @@ define i32 @foo15(i32 %a, i32 %b) nounwi
entry:
; CHECK-LABEL: foo15:
; CHECK: cmp w0, w1
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[REG:[0-9]+]], #1
; CHECK: cinc w0, w[[REG]], gt
%cmp = icmp sgt i32 %a, %b
%. = select i1 %cmp, i32 2, i32 1
@@ -190,7 +190,7 @@ define i32 @foo16(i32 %a, i32 %b) nounwi
entry:
; CHECK-LABEL: foo16:
; CHECK: cmp w0, w1
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[REG:[0-9]+]], #1
; CHECK: cinc w0, w[[REG]], le
%cmp = icmp sgt i32 %a, %b
%. = select i1 %cmp, i32 1, i32 2
@@ -201,7 +201,7 @@ define i64 @foo17(i64 %a, i64 %b) nounwi
entry:
; CHECK-LABEL: foo17:
; CHECK: cmp x0, x1
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[REG:[0-9]+]], #1
; CHECK: cinc x0, x[[REG]], gt
%cmp = icmp sgt i64 %a, %b
%. = select i1 %cmp, i64 2, i64 1
@@ -212,7 +212,7 @@ define i64 @foo18(i64 %a, i64 %b) nounwi
entry:
; CHECK-LABEL: foo18:
; CHECK: cmp x0, x1
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[REG:[0-9]+]], #1
; CHECK: cinc x0, x[[REG]], le
%cmp = icmp sgt i64 %a, %b
%. = select i1 %cmp, i64 1, i64 2
@@ -233,7 +233,7 @@ entry:
define i32 @foo20(i32 %x) {
; CHECK-LABEL: foo20:
; CHECK: cmp w0, #5
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x6
+; CHECK: mov w[[REG:[0-9]+]], #6
; CHECK: csinc w0, w[[REG]], wzr, eq
%cmp = icmp eq i32 %x, 5
%res = select i1 %cmp, i32 6, i32 1
@@ -243,7 +243,7 @@ define i32 @foo20(i32 %x) {
define i64 @foo21(i64 %x) {
; CHECK-LABEL: foo21:
; CHECK: cmp x0, #5
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x6
+; CHECK: mov w[[REG:[0-9]+]], #6
; CHECK: csinc x0, x[[REG]], xzr, eq
%cmp = icmp eq i64 %x, 5
%res = select i1 %cmp, i64 6, i64 1
@@ -253,7 +253,7 @@ define i64 @foo21(i64 %x) {
define i32 @foo22(i32 %x) {
; CHECK-LABEL: foo22:
; CHECK: cmp w0, #5
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x6
+; CHECK: mov w[[REG:[0-9]+]], #6
; CHECK: csinc w0, w[[REG]], wzr, ne
%cmp = icmp eq i32 %x, 5
%res = select i1 %cmp, i32 1, i32 6
@@ -263,7 +263,7 @@ define i32 @foo22(i32 %x) {
define i64 @foo23(i64 %x) {
; CHECK-LABEL: foo23:
; CHECK: cmp x0, #5
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x6
+; CHECK: mov w[[REG:[0-9]+]], #6
; CHECK: csinc x0, x[[REG]], xzr, ne
%cmp = icmp eq i64 %x, 5
%res = select i1 %cmp, i64 1, i64 6
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-call.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-call.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-call.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-call.ll Mon Mar 25 14:25:28 2019
@@ -81,14 +81,14 @@ entry:
; CHECK-LABEL: t2
; CHECK: mov [[REG1:x[0-9]+]], xzr
; CHECK: mov x0, [[REG1]]
-; CHECK: orr w1, wzr, #0xfffffff8
-; CHECK: orr [[REG2:w[0-9]+]], wzr, #0x3ff
+; CHECK: mov w1, #-8
+; CHECK: mov [[REG2:w[0-9]+]], #1023
; CHECK: uxth w2, [[REG2]]
-; CHECK: orr [[REG3:w[0-9]+]], wzr, #0x2
+; CHECK: mov [[REG3:w[0-9]+]], #2
; CHECK: sxtb w3, [[REG3]]
; CHECK: mov [[REG4:w[0-9]+]], wzr
; CHECK: and w4, [[REG4]], #0x1
-; CHECK: orr [[REG5:w[0-9]+]], wzr, #0x1
+; CHECK: mov [[REG5:w[0-9]+]], #1
; CHECK: and w5, [[REG5]], #0x1
; CHECK: bl _func2
%call = call i32 @func2(i64 zeroext 0, i32 signext -8, i16 zeroext 1023, i8 signext -254, i1 zeroext 0, i1 zeroext 1)
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-fcmp.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-fcmp.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-fcmp.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-fcmp.ll Mon Mar 25 14:25:28 2019
@@ -156,7 +156,7 @@ define zeroext i1 @fcmp_une(float %a, fl
define zeroext i1 @fcmp_true(float %a) {
; CHECK-LABEL: fcmp_true
-; CHECK: orr {{w[0-9]+}}, wzr, #0x1
+; CHECK: mov {{w[0-9]+}}, #1
%1 = fcmp ueq float %a, %a
ret i1 %1
}
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel.ll Mon Mar 25 14:25:28 2019
@@ -95,8 +95,8 @@ declare void @llvm.trap() nounwind
define void @ands(i32* %addr) {
; CHECK-LABEL: ands:
; CHECK: tst [[COND:w[0-9]+]], #0x1
-; CHECK-NEXT: orr w{{[0-9]+}}, wzr, #0x2
-; CHECK-NEXT: orr w{{[0-9]+}}, wzr, #0x1
+; CHECK-NEXT: mov w{{[0-9]+}}, #2
+; CHECK-NEXT: mov w{{[0-9]+}}, #1
; CHECK-NEXT: csel [[COND]],
entry:
%cond91 = select i1 undef, i32 1, i32 2
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll Mon Mar 25 14:25:28 2019
@@ -413,7 +413,7 @@ define i8* @test_v16i8_post_imm_st1_lane
define i8* @test_v16i8_post_reg_st1_lane(<16 x i8> %in, i8* %addr) {
; CHECK-LABEL: test_v16i8_post_reg_st1_lane:
-; CHECK: orr w[[OFFSET:[0-9]+]], wzr, #0x2
+; CHECK: mov w[[OFFSET:[0-9]+]], #2
; CHECK: st1.b { v0 }[3], [x0], x[[OFFSET]]
%elt = extractelement <16 x i8> %in, i32 3
store i8 %elt, i8* %addr
@@ -435,7 +435,7 @@ define i16* @test_v8i16_post_imm_st1_lan
define i16* @test_v8i16_post_reg_st1_lane(<8 x i16> %in, i16* %addr) {
; CHECK-LABEL: test_v8i16_post_reg_st1_lane:
-; CHECK: orr w[[OFFSET:[0-9]+]], wzr, #0x4
+; CHECK: mov w[[OFFSET:[0-9]+]], #4
; CHECK: st1.h { v0 }[3], [x0], x[[OFFSET]]
%elt = extractelement <8 x i16> %in, i32 3
store i16 %elt, i16* %addr
@@ -456,7 +456,7 @@ define i32* @test_v4i32_post_imm_st1_lan
define i32* @test_v4i32_post_reg_st1_lane(<4 x i32> %in, i32* %addr) {
; CHECK-LABEL: test_v4i32_post_reg_st1_lane:
-; CHECK: orr w[[OFFSET:[0-9]+]], wzr, #0x8
+; CHECK: mov w[[OFFSET:[0-9]+]], #8
; CHECK: st1.s { v0 }[3], [x0], x[[OFFSET]]
%elt = extractelement <4 x i32> %in, i32 3
store i32 %elt, i32* %addr
@@ -477,7 +477,7 @@ define float* @test_v4f32_post_imm_st1_l
define float* @test_v4f32_post_reg_st1_lane(<4 x float> %in, float* %addr) {
; CHECK-LABEL: test_v4f32_post_reg_st1_lane:
-; CHECK: orr w[[OFFSET:[0-9]+]], wzr, #0x8
+; CHECK: mov w[[OFFSET:[0-9]+]], #8
; CHECK: st1.s { v0 }[3], [x0], x[[OFFSET]]
%elt = extractelement <4 x float> %in, i32 3
store float %elt, float* %addr
@@ -498,7 +498,7 @@ define i64* @test_v2i64_post_imm_st1_lan
define i64* @test_v2i64_post_reg_st1_lane(<2 x i64> %in, i64* %addr) {
; CHECK-LABEL: test_v2i64_post_reg_st1_lane:
-; CHECK: orr w[[OFFSET:[0-9]+]], wzr, #0x10
+; CHECK: mov w[[OFFSET:[0-9]+]], #16
; CHECK: st1.d { v0 }[1], [x0], x[[OFFSET]]
%elt = extractelement <2 x i64> %in, i64 1
store i64 %elt, i64* %addr
@@ -519,7 +519,7 @@ define double* @test_v2f64_post_imm_st1_
define double* @test_v2f64_post_reg_st1_lane(<2 x double> %in, double* %addr) {
; CHECK-LABEL: test_v2f64_post_reg_st1_lane:
-; CHECK: orr w[[OFFSET:[0-9]+]], wzr, #0x10
+; CHECK: mov w[[OFFSET:[0-9]+]], #16
; CHECK: st1.d { v0 }[1], [x0], x[[OFFSET]]
%elt = extractelement <2 x double> %in, i32 1
store double %elt, double* %addr
@@ -540,7 +540,7 @@ define i8* @test_v8i8_post_imm_st1_lane(
define i8* @test_v8i8_post_reg_st1_lane(<8 x i8> %in, i8* %addr) {
; CHECK-LABEL: test_v8i8_post_reg_st1_lane:
-; CHECK: orr w[[OFFSET:[0-9]+]], wzr, #0x2
+; CHECK: mov w[[OFFSET:[0-9]+]], #2
; CHECK: st1.b { v0 }[3], [x0], x[[OFFSET]]
%elt = extractelement <8 x i8> %in, i32 3
store i8 %elt, i8* %addr
@@ -561,7 +561,7 @@ define i16* @test_v4i16_post_imm_st1_lan
define i16* @test_v4i16_post_reg_st1_lane(<4 x i16> %in, i16* %addr) {
; CHECK-LABEL: test_v4i16_post_reg_st1_lane:
-; CHECK: orr w[[OFFSET:[0-9]+]], wzr, #0x4
+; CHECK: mov w[[OFFSET:[0-9]+]], #4
; CHECK: st1.h { v0 }[3], [x0], x[[OFFSET]]
%elt = extractelement <4 x i16> %in, i32 3
store i16 %elt, i16* %addr
@@ -582,7 +582,7 @@ define i32* @test_v2i32_post_imm_st1_lan
define i32* @test_v2i32_post_reg_st1_lane(<2 x i32> %in, i32* %addr) {
; CHECK-LABEL: test_v2i32_post_reg_st1_lane:
-; CHECK: orr w[[OFFSET:[0-9]+]], wzr, #0x8
+; CHECK: mov w[[OFFSET:[0-9]+]], #8
; CHECK: st1.s { v0 }[1], [x0], x[[OFFSET]]
%elt = extractelement <2 x i32> %in, i32 1
store i32 %elt, i32* %addr
@@ -603,7 +603,7 @@ define float* @test_v2f32_post_imm_st1_l
define float* @test_v2f32_post_reg_st1_lane(<2 x float> %in, float* %addr) {
; CHECK-LABEL: test_v2f32_post_reg_st1_lane:
-; CHECK: orr w[[OFFSET:[0-9]+]], wzr, #0x8
+; CHECK: mov w[[OFFSET:[0-9]+]], #8
; CHECK: st1.s { v0 }[1], [x0], x[[OFFSET]]
%elt = extractelement <2 x float> %in, i32 1
store float %elt, float* %addr
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-inline-asm.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-inline-asm.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-inline-asm.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-inline-asm.ll Mon Mar 25 14:25:28 2019
@@ -221,7 +221,7 @@ define void @test_zero_reg(i32* %addr) {
; CHECK: USE(wzr)
tail call void asm sideeffect "USE(${0:w})", "zr"(i32 1)
-; CHECK: orr [[VAL1:w[0-9]+]], wzr, #0x1
+; CHECK: mov [[VAL1:w[0-9]+]], #1
; CHECK: USE([[VAL1]])
tail call void asm sideeffect "USE($0), USE($1)", "z,z"(i32 0, i32 0) nounwind
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-memcpy-inline.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-memcpy-inline.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-memcpy-inline.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-memcpy-inline.ll Mon Mar 25 14:25:28 2019
@@ -61,7 +61,7 @@ entry:
define void @t4(i8* nocapture %C) nounwind {
entry:
; CHECK-LABEL: t4:
-; CHECK: orr [[REG5:w[0-9]+]], wzr, #0x20
+; CHECK: mov [[REG5:w[0-9]+]], #32
; CHECK: strh [[REG5]], [x0, #16]
; CHECK: ldr [[REG6:q[0-9]+]], [x{{[0-9]+}}]
; CHECK: str [[REG6]], [x0]
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-misaligned-memcpy-inline.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-misaligned-memcpy-inline.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-misaligned-memcpy-inline.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-misaligned-memcpy-inline.ll Mon Mar 25 14:25:28 2019
@@ -4,7 +4,7 @@
; strict-alignment is turned on.
define void @t0(i8* %out, i8* %in) {
; CHECK-LABEL: t0:
-; CHECK: orr w2, wzr, #0x10
+; CHECK: mov w2, #16
; CHECK-NEXT: bl _memcpy
entry:
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %out, i8* %in, i64 16, i1 false)
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-movi.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-movi.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-movi.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-movi.ll Mon Mar 25 14:25:28 2019
@@ -42,21 +42,19 @@ define i64 @test64_64_manybits() nounwin
}
; 64-bit immed with 64-bit pattern size, one bit.
-; FIXME: Prefer movz, so it prints as "mov".
define i64 @test64_64_onebit() nounwind {
; CHECK-LABEL: test64_64_onebit:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr x0, xzr, #0x4000000000
+; CHECK-NEXT: mov x0, #274877906944
; CHECK-NEXT: ret
ret i64 274877906944
}
; 32-bit immed with 32-bit pattern size, rotated by 16.
-; FIXME: Prefer "movz" instead (so we print as "mov").
define i32 @test32_32_rot16() nounwind {
; CHECK-LABEL: test32_32_rot16:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w0, wzr, #0xff0000
+; CHECK-NEXT: mov w0, #16711680
; CHECK-NEXT: ret
ret i32 16711680
}
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-neon-compare-instructions.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-neon-compare-instructions.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-neon-compare-instructions.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-neon-compare-instructions.ll Mon Mar 25 14:25:28 2019
@@ -906,7 +906,7 @@ define <4 x i32> @cmhsz4xi32(<4 x i32> %
}
define <2 x i64> @cmhsz2xi64(<2 x i64> %A) {
-;CHECK: orr w[[TWO:[0-9]+]], wzr, #0x2
+;CHECK: mov w[[TWO:[0-9]+]], #2
;CHECK-NEXT: dup v[[ZERO:[0-9]+]].2d, x[[TWO]]
;CHECK-NEXT: cmhs {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, v[[ZERO]].2d
%tmp3 = icmp uge <2 x i64> %A, <i64 2, i64 2>
@@ -964,7 +964,7 @@ define <4 x i32> @cmhiz4xi32(<4 x i32> %
}
define <2 x i64> @cmhiz2xi64(<2 x i64> %A) {
-;CHECK: orr w[[ONE:[0-9]+]], wzr, #0x1
+;CHECK: mov w[[ONE:[0-9]+]], #1
;CHECK-NEXT: dup v[[ZERO:[0-9]+]].2d, x[[ONE]]
;CHECK-NEXT: cmhi {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, v[[ZERO]].2d
%tmp3 = icmp ugt <2 x i64> %A, <i64 1, i64 1>
@@ -1105,7 +1105,7 @@ define <4 x i32> @cmloz4xi32(<4 x i32> %
define <2 x i64> @cmloz2xi64(<2 x i64> %A) {
; Using registers other than v0, v1 are possible, but would be odd.
; LO implemented as HI, so check reversed operands.
-;CHECK: orr w[[TWO:[0-9]+]], wzr, #0x2
+;CHECK: mov w[[TWO:[0-9]+]], #2
;CHECK-NEXT: dup v[[ZERO:[0-9]+]].2d, x[[TWO]]
;CHECK-NEXT: cmhi {{v[0-9]+}}.2d, v[[ZERO]].2d, v0.2d
%tmp3 = icmp ult <2 x i64> %A, <i64 2, i64 2>
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-patchpoint-webkit_jscc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-patchpoint-webkit_jscc.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-patchpoint-webkit_jscc.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-patchpoint-webkit_jscc.ll Mon Mar 25 14:25:28 2019
@@ -38,11 +38,11 @@ entry:
define i64 @jscall_patchpoint_codegen2(i64 %callee) {
entry:
; CHECK-LABEL: jscall_patchpoint_codegen2:
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x6
+; CHECK: mov w[[REG:[0-9]+]], #6
; CHECK-NEXT: str x[[REG]], [sp, #24]
-; CHECK-NEXT: orr w[[REG:[0-9]+]], wzr, #0x4
+; CHECK-NEXT: mov w[[REG:[0-9]+]], #4
; CHECK-NEXT: str w[[REG]], [sp, #16]
-; CHECK-NEXT: orr w[[REG:[0-9]+]], wzr, #0x2
+; CHECK-NEXT: mov w[[REG:[0-9]+]], #2
; CHECK-NEXT: str x[[REG]], [sp]
; CHECK: Ltmp
; CHECK-NEXT: mov x16, #281470681743360
@@ -50,11 +50,11 @@ entry:
; CHECK-NEXT: movk x16, #48879
; CHECK-NEXT: blr x16
; FAST-LABEL: jscall_patchpoint_codegen2:
-; FAST: orr [[REG1:x[0-9]+]], xzr, #0x2
+; FAST: mov [[REG1:x[0-9]+]], #2
; FAST-NEXT: str [[REG1]], [sp]
-; FAST-NEXT: orr [[REG2:w[0-9]+]], wzr, #0x4
+; FAST-NEXT: mov [[REG2:w[0-9]+]], #4
; FAST-NEXT: str [[REG2]], [sp, #16]
-; FAST-NEXT: orr [[REG3:x[0-9]+]], xzr, #0x6
+; FAST-NEXT: mov [[REG3:x[0-9]+]], #6
; FAST-NEXT: str [[REG3]], [sp, #24]
; FAST: Ltmp
; FAST-NEXT: mov x16, #281470681743360
@@ -72,13 +72,13 @@ entry:
; CHECK-LABEL: jscall_patchpoint_codegen3:
; CHECK: mov w[[REG:[0-9]+]], #10
; CHECK-NEXT: str x[[REG]], [sp, #48]
-; CHECK-NEXT: orr w[[REG:[0-9]+]], wzr, #0x8
+; CHECK-NEXT: mov w[[REG:[0-9]+]], #8
; CHECK-NEXT: str w[[REG]], [sp, #36]
-; CHECK-NEXT: orr w[[REG:[0-9]+]], wzr, #0x6
+; CHECK-NEXT: mov w[[REG:[0-9]+]], #6
; CHECK-NEXT: str x[[REG]], [sp, #24]
-; CHECK-NEXT: orr w[[REG:[0-9]+]], wzr, #0x4
+; CHECK-NEXT: mov w[[REG:[0-9]+]], #4
; CHECK-NEXT: str w[[REG]], [sp, #16]
-; CHECK-NEXT: orr w[[REG:[0-9]+]], wzr, #0x2
+; CHECK-NEXT: mov w[[REG:[0-9]+]], #2
; CHECK-NEXT: str x[[REG]], [sp]
; CHECK: Ltmp
; CHECK-NEXT: mov x16, #281470681743360
@@ -86,13 +86,13 @@ entry:
; CHECK-NEXT: movk x16, #48879
; CHECK-NEXT: blr x16
; FAST-LABEL: jscall_patchpoint_codegen3:
-; FAST: orr [[REG1:x[0-9]+]], xzr, #0x2
+; FAST: mov [[REG1:x[0-9]+]], #2
; FAST-NEXT: str [[REG1]], [sp]
-; FAST-NEXT: orr [[REG2:w[0-9]+]], wzr, #0x4
+; FAST-NEXT: mov [[REG2:w[0-9]+]], #4
; FAST-NEXT: str [[REG2]], [sp, #16]
-; FAST-NEXT: orr [[REG3:x[0-9]+]], xzr, #0x6
+; FAST-NEXT: mov [[REG3:x[0-9]+]], #6
; FAST-NEXT: str [[REG3]], [sp, #24]
-; FAST-NEXT: orr [[REG4:w[0-9]+]], wzr, #0x8
+; FAST-NEXT: mov [[REG4:w[0-9]+]], #8
; FAST-NEXT: str [[REG4]], [sp, #36]
; FAST-NEXT: mov [[REG5:x[0-9]+]], #10
; FAST-NEXT: str [[REG5]], [sp, #48]
Modified: llvm/trunk/test/CodeGen/AArch64/atomic-ops-lse.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/atomic-ops-lse.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/atomic-ops-lse.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/atomic-ops-lse.ll Mon Mar 25 14:25:28 2019
@@ -821,7 +821,7 @@ define i8 @test_atomic_load_sub_i8_neg_i
; CHECK-NOT: dmb
; CHECK: adrp [[TMPADDR:x[0-9]+]], var8
; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var8
-; CHECK: orr w[[IMM:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[IMM:[0-9]+]], #1
; CHECK: ldaddalb w[[IMM]], w[[NEW:[0-9]+]], [x[[ADDR]]]
; CHECK-NOT: dmb
@@ -835,7 +835,7 @@ define i16 @test_atomic_load_sub_i16_neg
; CHECK-NOT: dmb
; CHECK: adrp [[TMPADDR:x[0-9]+]], var16
; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var16
-; CHECK: orr w[[IMM:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[IMM:[0-9]+]], #1
; CHECK: ldaddalh w[[IMM]], w[[NEW:[0-9]+]], [x[[ADDR]]]
; CHECK-NOT: dmb
@@ -849,7 +849,7 @@ define i32 @test_atomic_load_sub_i32_neg
; CHECK-NOT: dmb
; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
-; CHECK: orr w[[IMM:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[IMM:[0-9]+]], #1
; CHECK: ldaddal w[[IMM]], w[[NEW:[0-9]+]], [x[[ADDR]]]
; CHECK-NOT: dmb
@@ -863,7 +863,7 @@ define i64 @test_atomic_load_sub_i64_neg
; CHECK-NOT: dmb
; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
-; CHECK: orr w[[IMM:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[IMM:[0-9]+]], #1
; CHECK: ldaddal x[[IMM]], x[[NEW:[0-9]+]], [x[[ADDR]]]
; CHECK-NOT: dmb
@@ -984,7 +984,7 @@ define i8 @test_atomic_load_and_i8_inv_i
; CHECK-NOT: dmb
; CHECK: adrp [[TMPADDR:x[0-9]+]], var8
; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var8
-; CHECK: orr w[[CONST:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[CONST:[0-9]+]], #1
; CHECK: ldclralb w[[CONST]], w[[NEW:[0-9]+]], [x[[ADDR]]]
; CHECK-NOT: dmb
ret i8 %old
@@ -996,7 +996,7 @@ define i16 @test_atomic_load_and_i16_inv
; CHECK-NOT: dmb
; CHECK: adrp [[TMPADDR:x[0-9]+]], var16
; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var16
-; CHECK: orr w[[CONST:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[CONST:[0-9]+]], #1
; CHECK: ldclralh w[[CONST]], w[[NEW:[0-9]+]], [x[[ADDR]]]
; CHECK-NOT: dmb
ret i16 %old
@@ -1008,7 +1008,7 @@ define i32 @test_atomic_load_and_i32_inv
; CHECK-NOT: dmb
; CHECK: adrp [[TMPADDR:x[0-9]+]], var32
; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var32
-; CHECK: orr w[[CONST:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[CONST:[0-9]+]], #1
; CHECK: ldclral w[[CONST]], w[[NEW:[0-9]+]], [x[[ADDR]]]
; CHECK-NOT: dmb
ret i32 %old
@@ -1020,7 +1020,7 @@ define i64 @test_atomic_load_and_i64_inv
; CHECK-NOT: dmb
; CHECK: adrp [[TMPADDR:x[0-9]+]], var64
; CHECK: add x[[ADDR:[0-9]+]], [[TMPADDR]], {{#?}}:lo12:var64
-; CHECK: orr w[[CONST:[0-9]+]], wzr, #0x1
+; CHECK: mov w[[CONST:[0-9]+]], #1
; CHECK: ldclral x[[CONST]], x[[NEW:[0-9]+]], [x[[ADDR]]]
; CHECK-NOT: dmb
ret i64 %old
Modified: llvm/trunk/test/CodeGen/AArch64/branch-relax-asm.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/branch-relax-asm.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/branch-relax-asm.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/branch-relax-asm.ll Mon Mar 25 14:25:28 2019
@@ -10,7 +10,7 @@ define i32 @test_asm_length(i32 %in) {
; CHECK: b [[FALSE:LBB[0-9]+_[0-9]+]]
; CHECK: [[TRUE]]:
-; CHECK: orr w0, wzr, #0x4
+; CHECK: mov w0, #4
; CHECK: nop
; CHECK: nop
; CHECK: nop
Modified: llvm/trunk/test/CodeGen/AArch64/branch-relax-bcc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/branch-relax-bcc.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/branch-relax-bcc.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/branch-relax-bcc.ll Mon Mar 25 14:25:28 2019
@@ -57,7 +57,7 @@ declare i32 @foo() #0
; CHECK-NOT: b L
; CHECK: [[IF_END_BB]]:
-; CHECK: #0x7
+; CHECK: mov{{.*}}, #7
; CHECK: ret
define i32 @block_split(i32 %a, i32 %b) #0 {
entry:
Modified: llvm/trunk/test/CodeGen/AArch64/bswap-known-bits.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/bswap-known-bits.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/bswap-known-bits.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/bswap-known-bits.ll Mon Mar 25 14:25:28 2019
@@ -4,7 +4,7 @@ declare i16 @llvm.bswap.i16(i16)
declare i32 @llvm.bswap.i32(i32)
; CHECK-LABEL: @test1
-; CHECK: orr w0, wzr, #0x1
+; CHECK: mov w0, #1
define i1 @test1(i16 %arg) {
%a = or i16 %arg, 511
%b = call i16 @llvm.bswap.i16(i16 %a)
@@ -14,7 +14,7 @@ define i1 @test1(i16 %arg) {
}
; CHECK-LABEL: @test2
-; CHECK: orr w0, wzr, #0x1
+; CHECK: mov w0, #1
define i1 @test2(i16 %arg) {
%a = or i16 %arg, 1
%b = call i16 @llvm.bswap.i16(i16 %a)
@@ -24,7 +24,7 @@ define i1 @test2(i16 %arg) {
}
; CHECK-LABEL: @test3
-; CHECK: orr w0, wzr, #0x1
+; CHECK: mov w0, #1
define i1 @test3(i16 %arg) {
%a = or i16 %arg, 256
%b = call i16 @llvm.bswap.i16(i16 %a)
@@ -34,7 +34,7 @@ define i1 @test3(i16 %arg) {
}
; CHECK-LABEL: @test4
-; CHECK: orr w0, wzr, #0x1
+; CHECK: mov w0, #1
define i1 @test4(i32 %arg) {
%a = or i32 %arg, 2147483647 ; i32_MAX
%b = call i32 @llvm.bswap.i32(i32 %a)
Modified: llvm/trunk/test/CodeGen/AArch64/cmpxchg-idioms.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/cmpxchg-idioms.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/cmpxchg-idioms.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/cmpxchg-idioms.ll Mon Mar 25 14:25:28 2019
@@ -12,7 +12,7 @@ define i32 @test_return(i32* %p, i32 %ol
; CHECK: cbnz [[STATUS]], [[LOOP]]
; CHECK-NOT: cmp {{w[0-9]+}}, {{w[0-9]+}}
-; CHECK: orr w0, wzr, #0x1
+; CHECK: mov w0, #1
; CHECK: ret
; CHECK: [[FAILED]]:
@@ -39,7 +39,7 @@ define i1 @test_return_bool(i8* %value,
; CHECK-NOT: cmp {{w[0-9]+}}, {{w[0-9]+}}
; FIXME: DAG combine should be able to deal with this.
-; CHECK: orr [[TMP:w[0-9]+]], wzr, #0x1
+; CHECK: mov [[TMP:w[0-9]+]], #1
; CHECK: eor w0, [[TMP]], #0x1
; CHECK: ret
@@ -100,7 +100,7 @@ define i1 @test_conditional2(i32 %a, i32
; CHECK: stlxr [[STATUS:w[0-9]+]], w20, [x19]
; CHECK: cbnz [[STATUS]], [[LOOP]]
-; CHECK: orr [[STATUS]], wzr, #0x1
+; CHECK: mov [[STATUS]], #1
; CHECK: b [[PH:LBB[0-9]+_[0-9]+]]
; CHECK: [[FAILED]]:
@@ -108,8 +108,8 @@ define i1 @test_conditional2(i32 %a, i32
; verify the preheader is simplified by simplifycfg.
; CHECK: [[PH]]:
-; CHECK: orr w22, wzr, #0x2
-; CHECK-NOT: orr w22, wzr, #0x4
+; CHECK: mov w22, #2
+; CHECK-NOT: mov w22, #4
; CHECK-NOT: cmn w22, #4
; CHECK: b [[LOOP2:LBB[0-9]+_[0-9]+]]
; CHECK-NOT: b.ne [[LOOP2]]
Modified: llvm/trunk/test/CodeGen/AArch64/cond-sel-value-prop.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/cond-sel-value-prop.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/cond-sel-value-prop.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/cond-sel-value-prop.ll Mon Mar 25 14:25:28 2019
@@ -3,7 +3,7 @@
; Transform "a == C ? C : x" to "a == C ? a : x" to avoid materializing C.
; CHECK-LABEL: test1:
; CHECK: cmp w[[REG1:[0-9]+]], #2
-; CHECK: orr w[[REG2:[0-9]+]], wzr, #0x7
+; CHECK: mov w[[REG2:[0-9]+]], #7
; CHECK: csel w0, w[[REG1]], w[[REG2]], eq
define i32 @test1(i32 %x) {
%cmp = icmp eq i32 %x, 2
@@ -14,7 +14,7 @@ define i32 @test1(i32 %x) {
; Transform "a == C ? C : x" to "a == C ? a : x" to avoid materializing C.
; CHECK-LABEL: test2:
; CHECK: cmp x[[REG1:[0-9]+]], #2
-; CHECK: orr w[[REG2:[0-9]+]], wzr, #0x7
+; CHECK: mov w[[REG2:[0-9]+]], #7
; CHECK: csel x0, x[[REG1]], x[[REG2]], eq
define i64 @test2(i64 %x) {
%cmp = icmp eq i64 %x, 2
@@ -25,7 +25,7 @@ define i64 @test2(i64 %x) {
; Transform "a != C ? x : C" to "a != C ? x : a" to avoid materializing C.
; CHECK-LABEL: test3:
; CHECK: cmp x[[REG1:[0-9]+]], #7
-; CHECK: orr w[[REG2:[0-9]+]], wzr, #0x2
+; CHECK: mov w[[REG2:[0-9]+]], #2
; CHECK: csel x0, x[[REG2]], x[[REG1]], ne
define i64 @test3(i64 %x) {
%cmp = icmp ne i64 %x, 7
@@ -37,7 +37,7 @@ define i64 @test3(i64 %x) {
; would needlessly extend the live range of x0 when we can just use xzr.
; CHECK-LABEL: test4:
; CHECK: cmp x0, #0
-; CHECK: orr w8, wzr, #0x7
+; CHECK: mov w8, #7
; CHECK: csel x0, xzr, x8, eq
define i64 @test4(i64 %x) {
%cmp = icmp eq i64 %x, 0
@@ -50,7 +50,7 @@ define i64 @test4(i64 %x) {
; CSINC to materialize the 1.
; CHECK-LABEL: test5:
; CHECK: cmp x0, #1
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x7
+; CHECK: mov w[[REG:[0-9]+]], #7
; CHECK: csinc x0, x[[REG]], xzr, ne
define i64 @test5(i64 %x) {
%cmp = icmp eq i64 %x, 1
@@ -63,7 +63,7 @@ define i64 @test5(i64 %x) {
; CSINV to materialize the -1.
; CHECK-LABEL: test6:
; CHECK: cmn x0, #1
-; CHECK: orr w[[REG:[0-9]+]], wzr, #0x7
+; CHECK: mov w[[REG:[0-9]+]], #7
; CHECK: csinv x0, x[[REG]], xzr, ne
define i64 @test6(i64 %x) {
%cmp = icmp eq i64 %x, -1
Modified: llvm/trunk/test/CodeGen/AArch64/cond-sel.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/cond-sel.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/cond-sel.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/cond-sel.ll Mon Mar 25 14:25:28 2019
@@ -45,7 +45,7 @@ define void @test_floatcsel(float %lhs32
; CHECK-NOFP-NOT: fcmp
%val2 = select i1 %tst2, i64 9, i64 15
store i64 %val2, i64* @var64
-; CHECK: orr w[[CONST15:[0-9]+]], wzr, #0xf
+; CHECK: mov w[[CONST15:[0-9]+]], #15
; CHECK: mov {{[wx]}}[[CONST9:[0-9]+]], #{{9|0x9}}
; CHECK: csel [[MAYBETRUE:x[0-9]+]], x[[CONST9]], x[[CONST15]], eq
; CHECK: csel {{x[0-9]+}}, x[[CONST9]], [[MAYBETRUE]], vs
Modified: llvm/trunk/test/CodeGen/AArch64/dag-combine-invaraints.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/dag-combine-invaraints.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/dag-combine-invaraints.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/dag-combine-invaraints.ll Mon Mar 25 14:25:28 2019
@@ -24,8 +24,8 @@ main_:
ret i32 0
; CHECK: main:
-; CHECK-DAG: mov
-; CHECK-DAG: orr
+; CHECK-DAG: mov {{.*}}, #15
+; CHECK-DAG: mov {{.*}}, #5
; CHECK: csel
}
Modified: llvm/trunk/test/CodeGen/AArch64/extract-bits.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/extract-bits.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/extract-bits.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/extract-bits.ll Mon Mar 25 14:25:28 2019
@@ -21,7 +21,7 @@
define i32 @bextr32_a0(i32 %val, i32 %numskipbits, i32 %numlowbits) nounwind {
; CHECK-LABEL: bextr32_a0:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl w9, w9, w2
; CHECK-NEXT: lsr w8, w0, w1
; CHECK-NEXT: sub w9, w9, #1 // =1
@@ -37,7 +37,7 @@ define i32 @bextr32_a0(i32 %val, i32 %nu
define i32 @bextr32_a0_arithmetic(i32 %val, i32 %numskipbits, i32 %numlowbits) nounwind {
; CHECK-LABEL: bextr32_a0_arithmetic:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl w9, w9, w2
; CHECK-NEXT: asr w8, w0, w1
; CHECK-NEXT: sub w9, w9, #1 // =1
@@ -53,7 +53,7 @@ define i32 @bextr32_a0_arithmetic(i32 %v
define i32 @bextr32_a1_indexzext(i32 %val, i8 zeroext %numskipbits, i8 zeroext %numlowbits) nounwind {
; CHECK-LABEL: bextr32_a1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl w9, w9, w2
; CHECK-NEXT: lsr w8, w0, w1
; CHECK-NEXT: sub w9, w9, #1 // =1
@@ -72,7 +72,7 @@ define i32 @bextr32_a2_load(i32* %w, i32
; CHECK-LABEL: bextr32_a2_load:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr w8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl w9, w9, w2
; CHECK-NEXT: sub w9, w9, #1 // =1
; CHECK-NEXT: lsr w8, w8, w1
@@ -90,7 +90,7 @@ define i32 @bextr32_a3_load_indexzext(i3
; CHECK-LABEL: bextr32_a3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr w8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl w9, w9, w2
; CHECK-NEXT: sub w9, w9, #1 // =1
; CHECK-NEXT: lsr w8, w8, w1
@@ -109,7 +109,7 @@ define i32 @bextr32_a3_load_indexzext(i3
define i32 @bextr32_a4_commutative(i32 %val, i32 %numskipbits, i32 %numlowbits) nounwind {
; CHECK-LABEL: bextr32_a4_commutative:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl w9, w9, w2
; CHECK-NEXT: lsr w8, w0, w1
; CHECK-NEXT: sub w9, w9, #1 // =1
@@ -127,7 +127,7 @@ define i32 @bextr32_a4_commutative(i32 %
define i64 @bextr64_a0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind {
; CHECK-LABEL: bextr64_a0:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl x9, x9, x2
; CHECK-NEXT: lsr x8, x0, x1
; CHECK-NEXT: sub x9, x9, #1 // =1
@@ -143,7 +143,7 @@ define i64 @bextr64_a0(i64 %val, i64 %nu
define i64 @bextr64_a0_arithmetic(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind {
; CHECK-LABEL: bextr64_a0_arithmetic:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl x9, x9, x2
; CHECK-NEXT: asr x8, x0, x1
; CHECK-NEXT: sub x9, x9, #1 // =1
@@ -159,7 +159,7 @@ define i64 @bextr64_a0_arithmetic(i64 %v
define i64 @bextr64_a1_indexzext(i64 %val, i8 zeroext %numskipbits, i8 zeroext %numlowbits) nounwind {
; CHECK-LABEL: bextr64_a1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: // kill: def $w2 killed $w2 def $x2
; CHECK-NEXT: lsl x9, x9, x2
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
@@ -180,7 +180,7 @@ define i64 @bextr64_a2_load(i64* %w, i64
; CHECK-LABEL: bextr64_a2_load:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr x8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl x9, x9, x2
; CHECK-NEXT: sub x9, x9, #1 // =1
; CHECK-NEXT: lsr x8, x8, x1
@@ -198,7 +198,7 @@ define i64 @bextr64_a3_load_indexzext(i6
; CHECK-LABEL: bextr64_a3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr x8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: // kill: def $w2 killed $w2 def $x2
; CHECK-NEXT: lsl x9, x9, x2
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
@@ -219,7 +219,7 @@ define i64 @bextr64_a3_load_indexzext(i6
define i64 @bextr64_a4_commutative(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind {
; CHECK-LABEL: bextr64_a4_commutative:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl x9, x9, x2
; CHECK-NEXT: lsr x8, x0, x1
; CHECK-NEXT: sub x9, x9, #1 // =1
@@ -238,7 +238,7 @@ define i64 @bextr64_a4_commutative(i64 %
define i32 @bextr64_32_a0(i64 %val, i64 %numskipbits, i64 %numlowbits) nounwind {
; CHECK-LABEL: bextr64_32_a0:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl x9, x9, x2
; CHECK-NEXT: lsr x8, x0, x1
; CHECK-NEXT: sub w9, w9, #1 // =1
@@ -256,7 +256,7 @@ define i32 @bextr64_32_a0(i64 %val, i64
define i32 @bextr64_32_a1(i64 %val, i64 %numskipbits, i32 %numlowbits) nounwind {
; CHECK-LABEL: bextr64_32_a1:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl w9, w9, w2
; CHECK-NEXT: lsr x8, x0, x1
; CHECK-NEXT: sub w9, w9, #1 // =1
@@ -275,7 +275,7 @@ define i32 @bextr64_32_a1(i64 %val, i64
define i32 @bextr64_32_a2(i64 %val, i64 %numskipbits, i32 %numlowbits) nounwind {
; CHECK-LABEL: bextr64_32_a2:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl w9, w9, w2
; CHECK-NEXT: lsr x8, x0, x1
; CHECK-NEXT: sub w9, w9, #1 // =1
@@ -550,7 +550,7 @@ define i32 @bextr32_c0(i32 %val, i32 %nu
define i32 @bextr32_c1_indexzext(i32 %val, i8 %numskipbits, i8 %numlowbits) nounwind {
; CHECK-LABEL: bextr32_c1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x20
+; CHECK-NEXT: mov w9, #32
; CHECK-NEXT: sub w9, w9, w2
; CHECK-NEXT: mov w10, #-1
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
@@ -589,7 +589,7 @@ define i32 @bextr32_c3_load_indexzext(i3
; CHECK-LABEL: bextr32_c3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr w8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x20
+; CHECK-NEXT: mov w9, #32
; CHECK-NEXT: mov w10, #-1
; CHECK-NEXT: sub w9, w9, w2
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
@@ -644,7 +644,7 @@ define i64 @bextr64_c0(i64 %val, i64 %nu
define i64 @bextr64_c1_indexzext(i64 %val, i8 %numskipbits, i8 %numlowbits) nounwind {
; CHECK-LABEL: bextr64_c1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x40
+; CHECK-NEXT: mov w9, #64
; CHECK-NEXT: sub w9, w9, w2
; CHECK-NEXT: mov x10, #-1
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
@@ -683,7 +683,7 @@ define i64 @bextr64_c3_load_indexzext(i6
; CHECK-LABEL: bextr64_c3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr x8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x40
+; CHECK-NEXT: mov w9, #64
; CHECK-NEXT: mov x10, #-1
; CHECK-NEXT: sub w9, w9, w2
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
@@ -797,7 +797,7 @@ define i32 @bextr32_d0(i32 %val, i32 %nu
define i32 @bextr32_d1_indexzext(i32 %val, i8 %numskipbits, i8 %numlowbits) nounwind {
; CHECK-LABEL: bextr32_d1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x20
+; CHECK-NEXT: mov w9, #32
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
; CHECK-NEXT: lsr w8, w0, w1
; CHECK-NEXT: sub w9, w9, w2
@@ -834,7 +834,7 @@ define i32 @bextr32_d3_load_indexzext(i3
; CHECK-LABEL: bextr32_d3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr w8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x20
+; CHECK-NEXT: mov w9, #32
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
; CHECK-NEXT: sub w9, w9, w2
; CHECK-NEXT: lsr w8, w8, w1
@@ -871,7 +871,7 @@ define i64 @bextr64_d0(i64 %val, i64 %nu
define i64 @bextr64_d1_indexzext(i64 %val, i8 %numskipbits, i8 %numlowbits) nounwind {
; CHECK-LABEL: bextr64_d1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w9, wzr, #0x40
+; CHECK-NEXT: mov w9, #64
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
; CHECK-NEXT: lsr x8, x0, x1
; CHECK-NEXT: sub w9, w9, w2
@@ -908,7 +908,7 @@ define i64 @bextr64_d3_load_indexzext(i6
; CHECK-LABEL: bextr64_d3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr x8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x40
+; CHECK-NEXT: mov w9, #64
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
; CHECK-NEXT: sub w9, w9, w2
; CHECK-NEXT: lsr x8, x8, x1
Modified: llvm/trunk/test/CodeGen/AArch64/extract-lowbits.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/extract-lowbits.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/extract-lowbits.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/extract-lowbits.ll Mon Mar 25 14:25:28 2019
@@ -21,7 +21,7 @@
define i32 @bzhi32_a0(i32 %val, i32 %numlowbits) nounwind {
; CHECK-LABEL: bzhi32_a0:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x1
+; CHECK-NEXT: mov w8, #1
; CHECK-NEXT: lsl w8, w8, w1
; CHECK-NEXT: sub w8, w8, #1 // =1
; CHECK-NEXT: and w0, w8, w0
@@ -35,7 +35,7 @@ define i32 @bzhi32_a0(i32 %val, i32 %num
define i32 @bzhi32_a1_indexzext(i32 %val, i8 zeroext %numlowbits) nounwind {
; CHECK-LABEL: bzhi32_a1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x1
+; CHECK-NEXT: mov w8, #1
; CHECK-NEXT: lsl w8, w8, w1
; CHECK-NEXT: sub w8, w8, #1 // =1
; CHECK-NEXT: and w0, w8, w0
@@ -51,7 +51,7 @@ define i32 @bzhi32_a2_load(i32* %w, i32
; CHECK-LABEL: bzhi32_a2_load:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr w8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl w9, w9, w1
; CHECK-NEXT: sub w9, w9, #1 // =1
; CHECK-NEXT: and w0, w9, w8
@@ -67,7 +67,7 @@ define i32 @bzhi32_a3_load_indexzext(i32
; CHECK-LABEL: bzhi32_a3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr w8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl w9, w9, w1
; CHECK-NEXT: sub w9, w9, #1 // =1
; CHECK-NEXT: and w0, w9, w8
@@ -83,7 +83,7 @@ define i32 @bzhi32_a3_load_indexzext(i32
define i32 @bzhi32_a4_commutative(i32 %val, i32 %numlowbits) nounwind {
; CHECK-LABEL: bzhi32_a4_commutative:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x1
+; CHECK-NEXT: mov w8, #1
; CHECK-NEXT: lsl w8, w8, w1
; CHECK-NEXT: sub w8, w8, #1 // =1
; CHECK-NEXT: and w0, w0, w8
@@ -99,7 +99,7 @@ define i32 @bzhi32_a4_commutative(i32 %v
define i64 @bzhi64_a0(i64 %val, i64 %numlowbits) nounwind {
; CHECK-LABEL: bzhi64_a0:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x1
+; CHECK-NEXT: mov w8, #1
; CHECK-NEXT: lsl x8, x8, x1
; CHECK-NEXT: sub x8, x8, #1 // =1
; CHECK-NEXT: and x0, x8, x0
@@ -113,7 +113,7 @@ define i64 @bzhi64_a0(i64 %val, i64 %num
define i64 @bzhi64_a1_indexzext(i64 %val, i8 zeroext %numlowbits) nounwind {
; CHECK-LABEL: bzhi64_a1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x1
+; CHECK-NEXT: mov w8, #1
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
; CHECK-NEXT: lsl x8, x8, x1
; CHECK-NEXT: sub x8, x8, #1 // =1
@@ -130,7 +130,7 @@ define i64 @bzhi64_a2_load(i64* %w, i64
; CHECK-LABEL: bzhi64_a2_load:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr x8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: lsl x9, x9, x1
; CHECK-NEXT: sub x9, x9, #1 // =1
; CHECK-NEXT: and x0, x9, x8
@@ -146,7 +146,7 @@ define i64 @bzhi64_a3_load_indexzext(i64
; CHECK-LABEL: bzhi64_a3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr x8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x1
+; CHECK-NEXT: mov w9, #1
; CHECK-NEXT: // kill: def $w1 killed $w1 def $x1
; CHECK-NEXT: lsl x9, x9, x1
; CHECK-NEXT: sub x9, x9, #1 // =1
@@ -163,7 +163,7 @@ define i64 @bzhi64_a3_load_indexzext(i64
define i64 @bzhi64_a4_commutative(i64 %val, i64 %numlowbits) nounwind {
; CHECK-LABEL: bzhi64_a4_commutative:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x1
+; CHECK-NEXT: mov w8, #1
; CHECK-NEXT: lsl x8, x8, x1
; CHECK-NEXT: sub x8, x8, #1 // =1
; CHECK-NEXT: and x0, x0, x8
@@ -345,7 +345,7 @@ define i32 @bzhi32_c0(i32 %val, i32 %num
define i32 @bzhi32_c1_indexzext(i32 %val, i8 %numlowbits) nounwind {
; CHECK-LABEL: bzhi32_c1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x20
+; CHECK-NEXT: mov w8, #32
; CHECK-NEXT: sub w8, w8, w1
; CHECK-NEXT: mov w9, #-1
; CHECK-NEXT: lsr w8, w9, w8
@@ -378,7 +378,7 @@ define i32 @bzhi32_c3_load_indexzext(i32
; CHECK-LABEL: bzhi32_c3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr w8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x20
+; CHECK-NEXT: mov w9, #32
; CHECK-NEXT: sub w9, w9, w1
; CHECK-NEXT: mov w10, #-1
; CHECK-NEXT: lsr w9, w10, w9
@@ -425,7 +425,7 @@ define i64 @bzhi64_c0(i64 %val, i64 %num
define i64 @bzhi64_c1_indexzext(i64 %val, i8 %numlowbits) nounwind {
; CHECK-LABEL: bzhi64_c1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x40
+; CHECK-NEXT: mov w8, #64
; CHECK-NEXT: sub w8, w8, w1
; CHECK-NEXT: mov x9, #-1
; CHECK-NEXT: lsr x8, x9, x8
@@ -458,7 +458,7 @@ define i64 @bzhi64_c3_load_indexzext(i64
; CHECK-LABEL: bzhi64_c3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr x8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x40
+; CHECK-NEXT: mov w9, #64
; CHECK-NEXT: sub w9, w9, w1
; CHECK-NEXT: mov x10, #-1
; CHECK-NEXT: lsr x9, x10, x9
@@ -506,7 +506,7 @@ define i32 @bzhi32_d0(i32 %val, i32 %num
define i32 @bzhi32_d1_indexzext(i32 %val, i8 %numlowbits) nounwind {
; CHECK-LABEL: bzhi32_d1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x20
+; CHECK-NEXT: mov w8, #32
; CHECK-NEXT: sub w8, w8, w1
; CHECK-NEXT: lsl w9, w0, w8
; CHECK-NEXT: lsr w0, w9, w8
@@ -537,7 +537,7 @@ define i32 @bzhi32_d3_load_indexzext(i32
; CHECK-LABEL: bzhi32_d3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr w8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x20
+; CHECK-NEXT: mov w9, #32
; CHECK-NEXT: sub w9, w9, w1
; CHECK-NEXT: lsl w8, w8, w9
; CHECK-NEXT: lsr w0, w8, w9
@@ -568,7 +568,7 @@ define i64 @bzhi64_d0(i64 %val, i64 %num
define i64 @bzhi64_d1_indexzext(i64 %val, i8 %numlowbits) nounwind {
; CHECK-LABEL: bzhi64_d1_indexzext:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x40
+; CHECK-NEXT: mov w8, #64
; CHECK-NEXT: sub w8, w8, w1
; CHECK-NEXT: lsl x9, x0, x8
; CHECK-NEXT: lsr x0, x9, x8
@@ -599,7 +599,7 @@ define i64 @bzhi64_d3_load_indexzext(i64
; CHECK-LABEL: bzhi64_d3_load_indexzext:
; CHECK: // %bb.0:
; CHECK-NEXT: ldr x8, [x0]
-; CHECK-NEXT: orr w9, wzr, #0x40
+; CHECK-NEXT: mov w9, #64
; CHECK-NEXT: sub w9, w9, w1
; CHECK-NEXT: lsl x8, x8, x9
; CHECK-NEXT: lsr x0, x8, x9
Modified: llvm/trunk/test/CodeGen/AArch64/fabs.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/fabs.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/fabs.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/fabs.ll Mon Mar 25 14:25:28 2019
@@ -22,7 +22,7 @@ define double @not_fabs(double %x) #0 {
define float @still_not_fabs(float %x) #0 {
; CHECK-LABEL: still_not_fabs:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x80000000
+; CHECK-NEXT: mov w8, #-2147483648
; CHECK-NEXT: fmov s2, w8
; CHECK-NEXT: fneg s1, s0
; CHECK-NEXT: fcmp s0, s2
@@ -72,7 +72,7 @@ define <4 x float> @nabsv4f32(<4 x float
define <2 x double> @nabsv2d64(<2 x double> %a) {
; CHECK-LABEL: nabsv2d64:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr x8, xzr, #0x8000000000000000
+; CHECK-NEXT: mov x8, #-9223372036854775808
; CHECK-NEXT: dup v1.2d, x8
; CHECK-NEXT: orr v0.16b, v0.16b, v1.16b
; CHECK-NEXT: ret
Modified: llvm/trunk/test/CodeGen/AArch64/fast-isel-addressing-modes.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/fast-isel-addressing-modes.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/fast-isel-addressing-modes.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/fast-isel-addressing-modes.ll Mon Mar 25 14:25:28 2019
@@ -110,7 +110,7 @@ define void @store_breg_f64(double* %a)
; Load Immediate
define i32 @load_immoff_1() {
; CHECK-LABEL: load_immoff_1
-; CHECK: orr {{w|x}}[[REG:[0-9]+]], {{wzr|xzr}}, #0x80
+; CHECK: mov {{w|x}}[[REG:[0-9]+]], #128
; CHECK: ldr {{w[0-9]+}}, {{\[}}x[[REG]]{{\]}}
%1 = inttoptr i64 128 to i32*
%2 = load i32, i32* %1
@@ -173,7 +173,7 @@ define i32 @load_breg_immoff_5(i64 %a) {
; Min un-supported scaled offset
define i32 @load_breg_immoff_6(i64 %a) {
; SDAG-LABEL: load_breg_immoff_6
-; SDAG: orr w[[NUM:[0-9]+]], wzr, #0x4000
+; SDAG: mov w[[NUM:[0-9]+]], #16384
; SDAG-NEXT: ldr {{w[0-9]+}}, [x0, x[[NUM]]]
; FAST-LABEL: load_breg_immoff_6
; FAST: add [[REG:x[0-9]+]], x0, #4, lsl #12
@@ -239,7 +239,7 @@ define void @store_breg_immoff_5(i64 %a)
; Min un-supported scaled offset
define void @store_breg_immoff_6(i64 %a) {
; SDAG-LABEL: store_breg_immoff_6
-; SDAG: orr w[[NUM:[0-9]+]], wzr, #0x4000
+; SDAG: mov w[[NUM:[0-9]+]], #16384
; SDAG-NEXT: str wzr, [x0, x[[NUM]]]
; FAST-LABEL: store_breg_immoff_6
; FAST: add [[REG:x[0-9]+]], x0, #4, lsl #12
@@ -304,7 +304,7 @@ define i64 @load_breg_offreg_immoff_1(i6
define i64 @load_breg_offreg_immoff_2(i64 %a, i64 %b) {
; SDAG-LABEL: load_breg_offreg_immoff_2
; SDAG: add [[REG1:x[0-9]+]], x0, x1
-; SDAG-NEXT: orr w[[NUM:[0-9]+]], wzr, #0xf000
+; SDAG-NEXT: mov w[[NUM:[0-9]+]], #61440
; SDAG-NEXT: ldr x0, {{\[}}[[REG1]], x[[NUM]]]
; FAST-LABEL: load_breg_offreg_immoff_2
; FAST: add [[REG:x[0-9]+]], x0, #15, lsl #12
Modified: llvm/trunk/test/CodeGen/AArch64/fast-isel-gep.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/fast-isel-gep.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/fast-isel-gep.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/fast-isel-gep.ll Mon Mar 25 14:25:28 2019
@@ -11,7 +11,7 @@ define double* @test_struct(%struct.foo*
define i32* @test_array1(i32* %a, i64 %i) {
; CHECK-LABEL: test_array1
-; CHECK: orr [[REG:x[0-9]+]], xzr, #0x4
+; CHECK: mov [[REG:x[0-9]+]], #4
; CHECK-NEXT: madd x0, x1, [[REG]], x0
%1 = getelementptr inbounds i32, i32* %a, i64 %i
ret i32* %1
@@ -42,7 +42,7 @@ define i32* @test_array4(i32* %a) {
define i32* @test_array5(i32* %a, i32 %i) {
; CHECK-LABEL: test_array5
; CHECK: sxtw [[REG1:x[0-9]+]], w1
-; CHECK-NEXT: orr [[REG2:x[0-9]+]], xzr, #0x4
+; CHECK-NEXT: mov [[REG2:x[0-9]+]], #4
; CHECK-NEXT: madd {{x[0-9]+}}, [[REG1]], [[REG2]], x0
%1 = getelementptr inbounds i32, i32* %a, i32 %i
ret i32* %1
Modified: llvm/trunk/test/CodeGen/AArch64/fold-global-offsets.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/fold-global-offsets.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/fold-global-offsets.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/fold-global-offsets.ll Mon Mar 25 14:25:28 2019
@@ -52,7 +52,7 @@ define i64 @f6() {
; CHECK: f6:
; CHECK: adrp x8, x2
; CHECK: add x8, x8, :lo12:x2
- ; CHECK: orr w9, wzr, #0x200000
+ ; CHECK: mov w9, #2097152
; CHECK: ldr x0, [x8, x9]
; CHECK: ret
%l = load i64, i64* getelementptr ([16777216 x i64], [16777216 x i64]* @x2, i64 0, i64 262144)
Modified: llvm/trunk/test/CodeGen/AArch64/funnel-shift.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/funnel-shift.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/funnel-shift.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/funnel-shift.ll Mon Mar 25 14:25:28 2019
@@ -71,7 +71,7 @@ define i7 @fshl_i7_const_fold() {
define i8 @fshl_i8_const_fold_overshift_1() {
; CHECK-LABEL: fshl_i8_const_fold_overshift_1:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w0, wzr, #0x80
+; CHECK-NEXT: mov w0, #128
; CHECK-NEXT: ret
%f = call i8 @llvm.fshl.i8(i8 255, i8 0, i8 15)
ret i8 %f
@@ -80,7 +80,7 @@ define i8 @fshl_i8_const_fold_overshift_
define i8 @fshl_i8_const_fold_overshift_2() {
; CHECK-LABEL: fshl_i8_const_fold_overshift_2:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w0, wzr, #0x78
+; CHECK-NEXT: mov w0, #120
; CHECK-NEXT: ret
%f = call i8 @llvm.fshl.i8(i8 15, i8 15, i8 11)
ret i8 %f
@@ -133,7 +133,7 @@ define i64 @fshl_i64_const_overshift(i64
define i8 @fshl_i8_const_fold() {
; CHECK-LABEL: fshl_i8_const_fold:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w0, wzr, #0x80
+; CHECK-NEXT: mov w0, #128
; CHECK-NEXT: ret
%f = call i8 @llvm.fshl.i8(i8 255, i8 0, i8 7)
ret i8 %f
@@ -190,7 +190,7 @@ declare i7 @llvm.fshr.i7(i7, i7, i7)
define i7 @fshr_i7_const_fold() {
; CHECK-LABEL: fshr_i7_const_fold:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w0, wzr, #0x1f
+; CHECK-NEXT: mov w0, #31
; CHECK-NEXT: ret
%f = call i7 @llvm.fshr.i7(i7 112, i7 127, i7 2)
ret i7 %f
@@ -199,7 +199,7 @@ define i7 @fshr_i7_const_fold() {
define i8 @fshr_i8_const_fold_overshift_1() {
; CHECK-LABEL: fshr_i8_const_fold_overshift_1:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w0, wzr, #0xfe
+; CHECK-NEXT: mov w0, #254
; CHECK-NEXT: ret
%f = call i8 @llvm.fshr.i8(i8 255, i8 0, i8 15)
ret i8 %f
@@ -217,7 +217,7 @@ define i8 @fshr_i8_const_fold_overshift_
define i8 @fshr_i8_const_fold_overshift_3() {
; CHECK-LABEL: fshr_i8_const_fold_overshift_3:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w0, wzr, #0xff
+; CHECK-NEXT: mov w0, #255
; CHECK-NEXT: ret
%f = call i8 @llvm.fshr.i8(i8 0, i8 255, i8 8)
ret i8 %f
@@ -261,7 +261,7 @@ define i64 @fshr_i64_const_overshift(i64
define i8 @fshr_i8_const_fold() {
; CHECK-LABEL: fshr_i8_const_fold:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w0, wzr, #0xfe
+; CHECK-NEXT: mov w0, #254
; CHECK-NEXT: ret
%f = call i8 @llvm.fshr.i8(i8 255, i8 0, i8 7)
ret i8 %f
Modified: llvm/trunk/test/CodeGen/AArch64/i128-align.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/i128-align.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/i128-align.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/i128-align.ll Mon Mar 25 14:25:28 2019
@@ -13,7 +13,7 @@ define i64 @check_size() {
%diff = sub i64 %endi, %starti
ret i64 %diff
-; CHECK: {{movz x0, #48|orr w0, wzr, #0x30}}
+; CHECK: mov w0, #48
}
define i64 @check_field() {
@@ -25,5 +25,5 @@ define i64 @check_field() {
%diff = sub i64 %endi, %starti
ret i64 %diff
-; CHECK: {{movz x0, #16|orr w0, wzr, #0x10}}
+; CHECK: mov w0, #16
}
Modified: llvm/trunk/test/CodeGen/AArch64/isinf.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/isinf.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/isinf.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/isinf.ll Mon Mar 25 14:25:28 2019
@@ -22,7 +22,7 @@ define i32 @replace_isinf_call_f16(half
; Check if INFINITY for float is materialized
define i32 @replace_isinf_call_f32(float %x) {
; CHECK-LABEL: replace_isinf_call_f32:
-; CHECK: orr [[INFSCALARREG:w[0-9]+]], wzr, #0x7f800000
+; CHECK: mov [[INFSCALARREG:w[0-9]+]], #2139095040
; CHECK-NEXT: fabs [[ABS:s[0-9]+]], s0
; CHECK-NEXT: fmov [[INFREG:s[0-9]+]], [[INFSCALARREG]]
; CHECK-NEXT: fcmp [[ABS]], [[INFREG]]
@@ -36,7 +36,7 @@ define i32 @replace_isinf_call_f32(float
; Check if INFINITY for double is materialized
define i32 @replace_isinf_call_f64(double %x) {
; CHECK-LABEL: replace_isinf_call_f64:
-; CHECK: orr [[INFSCALARREG:x[0-9]+]], xzr, #0x7ff0000000000000
+; CHECK: mov [[INFSCALARREG:x[0-9]+]], #9218868437227405312
; CHECK-NEXT: fabs [[ABS:d[0-9]+]], d0
; CHECK-NEXT: fmov [[INFREG:d[0-9]+]], [[INFSCALARREG]]
; CHECK-NEXT: fcmp [[ABS]], [[INFREG]]
Modified: llvm/trunk/test/CodeGen/AArch64/known-never-nan.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/known-never-nan.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/known-never-nan.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/known-never-nan.ll Mon Mar 25 14:25:28 2019
@@ -28,7 +28,7 @@ define float @fmaxnm(i32 %i1, i32 %i2) #
define float @not_fmaxnm_maybe_nan(i32 %i1, i32 %i2) #0 {
; CHECK-LABEL: not_fmaxnm_maybe_nan:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0xff800000
+; CHECK-NEXT: mov w8, #-8388608
; CHECK-NEXT: ucvtf s0, w0
; CHECK-NEXT: ucvtf s1, w1
; CHECK-NEXT: fmov s2, #17.00000000
Modified: llvm/trunk/test/CodeGen/AArch64/ldst-paired-aliasing.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/ldst-paired-aliasing.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/ldst-paired-aliasing.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/ldst-paired-aliasing.ll Mon Mar 25 14:25:28 2019
@@ -11,7 +11,7 @@ define i32 @main() local_unnamed_addr #1
; Make sure the stores happen in the correct order (the exact instructions could change).
; CHECK-LABEL: main:
-; CHECK: orr w9, wzr, #0x1
+; CHECK: mov w9, #1
; CHECK: str x9, [sp, #80]
; CHECK: stp q0, q0, [sp, #48]
; CHECK: ldr w8, [sp, #48]
Modified: llvm/trunk/test/CodeGen/AArch64/machine-outliner-tail.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/machine-outliner-tail.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/machine-outliner-tail.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/machine-outliner-tail.ll Mon Mar 25 14:25:28 2019
@@ -1,10 +1,10 @@
; RUN: llc -verify-machineinstrs -enable-machine-outliner -mtriple=aarch64-linux-gnu < %s | FileCheck %s
; CHECK: OUTLINED_FUNCTION_0:
-; CHECK: orr w0, wzr, #0x1
-; CHECK-NEXT: orr w1, wzr, #0x2
-; CHECK-NEXT: orr w2, wzr, #0x3
-; CHECK-NEXT: orr w3, wzr, #0x4
+; CHECK: mov w0, #1
+; CHECK-NEXT: mov w1, #2
+; CHECK-NEXT: mov w2, #3
+; CHECK-NEXT: mov w3, #4
; CHECK-NEXT: b z
define void @a() {
Modified: llvm/trunk/test/CodeGen/AArch64/machine-outliner-thunk.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/machine-outliner-thunk.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/machine-outliner-thunk.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/machine-outliner-thunk.ll Mon Mar 25 14:25:28 2019
@@ -73,16 +73,16 @@ entry:
; CHECK: [[OUTLINED_INDIRECT]]:
; CHECK: // %bb.0:
; CHECK-NEXT: mov x8, x0
-; CHECK-NEXT: orr w0, wzr, #0x1
-; CHECK-NEXT: orr w1, wzr, #0x2
-; CHECK-NEXT: orr w2, wzr, #0x3
-; CHECK-NEXT: orr w3, wzr, #0x4
+; CHECK-NEXT: mov w0, #1
+; CHECK-NEXT: mov w1, #2
+; CHECK-NEXT: mov w2, #3
+; CHECK-NEXT: mov w3, #4
; CHECK-NEXT: br x8
; CHECK: [[OUTLINED_DIRECT]]:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w0, wzr, #0x1
-; CHECK-NEXT: orr w1, wzr, #0x2
-; CHECK-NEXT: orr w2, wzr, #0x3
-; CHECK-NEXT: orr w3, wzr, #0x4
+; CHECK-NEXT: mov w0, #1
+; CHECK-NEXT: mov w1, #2
+; CHECK-NEXT: mov w2, #3
+; CHECK-NEXT: mov w3, #4
; CHECK-NEXT: b thunk_called_fn
Modified: llvm/trunk/test/CodeGen/AArch64/machine-outliner.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/machine-outliner.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/machine-outliner.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/machine-outliner.ll Mon Mar 25 14:25:28 2019
@@ -91,17 +91,17 @@ define void @dog() #0 {
; ODR: [[OUTLINED]]:
; CHECK: .p2align 2
; CHECK-NEXT: [[OUTLINED]]:
-; CHECK: orr w8, wzr, #0x1
+; CHECK: mov w8, #1
; CHECK-NEXT: str w8, [sp, #28]
-; CHECK-NEXT: orr w8, wzr, #0x2
+; CHECK-NEXT: mov w8, #2
; CHECK-NEXT: str w8, [sp, #24]
-; CHECK-NEXT: orr w8, wzr, #0x3
+; CHECK-NEXT: mov w8, #3
; CHECK-NEXT: str w8, [sp, #20]
-; CHECK-NEXT: orr w8, wzr, #0x4
+; CHECK-NEXT: mov w8, #4
; CHECK-NEXT: str w8, [sp, #16]
; CHECK-NEXT: mov w8, #5
; CHECK-NEXT: str w8, [sp, #12]
-; CHECK-NEXT: orr w8, wzr, #0x6
+; CHECK-NEXT: mov w8, #6
; CHECK-NEXT: str w8, [sp, #8]
; CHECK-NEXT: add sp, sp, #32
; CHECK-NEXT: ret
Modified: llvm/trunk/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/machine_cse_impdef_killflags.ll Mon Mar 25 14:25:28 2019
@@ -5,9 +5,9 @@
; The verifier would complain otherwise.
define i64 @csed-impdef-killflag(i64 %a) {
; CHECK-LABEL: csed-impdef-killflag
-; CHECK-DAG: orr [[REG1:w[0-9]+]], wzr, #0x1
-; CHECK-DAG: orr [[REG2:x[0-9]+]], xzr, #0x2
-; CHECK-DAG: orr [[REG3:x[0-9]+]], xzr, #0x3
+; CHECK-DAG: mov [[REG1:w[0-9]+]], #1
+; CHECK-DAG: mov [[REG2:x[0-9]+]], #2
+; CHECK-DAG: mov [[REG3:x[0-9]+]], #3
; CHECK-DAG: cmp x0, #0
; CHECK: csel w[[SELECT_WREG_1:[0-9]+]], wzr, [[REG1]], ne
; CHECK-DAG: csel [[SELECT_XREG_2:x[0-9]+]], [[REG2]], [[REG3]], ne
Modified: llvm/trunk/test/CodeGen/AArch64/madd-combiner.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/madd-combiner.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/madd-combiner.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/madd-combiner.ll Mon Mar 25 14:25:28 2019
@@ -13,7 +13,7 @@ define i32 @mul_add_imm(i32 %a, i32 %b)
define i32 @mul_sub_imm1(i32 %a, i32 %b) {
; CHECK-LABEL: mul_sub_imm1
-; CHECK: orr [[REG:w[0-9]+]], wzr, #0x4
+; CHECK: mov [[REG:w[0-9]+]], #4
; CHECK-NEXT: msub {{w[0-9]+}}, w0, w1, [[REG]]
%1 = mul i32 %a, %b
%2 = sub i32 4, %1
Modified: llvm/trunk/test/CodeGen/AArch64/movw-consts.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/movw-consts.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/movw-consts.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/movw-consts.ll Mon Mar 25 14:25:28 2019
@@ -9,43 +9,43 @@ define i64 @test0() {
define i64 @test1() {
; CHECK-LABEL: test1:
-; CHECK: orr w0, wzr, #0x1
+; CHECK: mov w0, #1
ret i64 1
}
define i64 @test2() {
; CHECK-LABEL: test2:
-; CHECK: orr w0, wzr, #0xffff
+; CHECK: mov w0, #65535
ret i64 65535
}
define i64 @test3() {
; CHECK-LABEL: test3:
-; CHECK: orr w0, wzr, #0x10000
+; CHECK: mov w0, #65536
ret i64 65536
}
define i64 @test4() {
; CHECK-LABEL: test4:
-; CHECK: orr w0, wzr, #0xffff0000
+; CHECK: mov w0, #-65536
ret i64 4294901760
}
define i64 @test5() {
; CHECK-LABEL: test5:
-; CHECK: orr x0, xzr, #0x100000000
+; CHECK: mov x0, #4294967296
ret i64 4294967296
}
define i64 @test6() {
; CHECK-LABEL: test6:
-; CHECK: orr x0, xzr, #0xffff00000000
+; CHECK: mov x0, #281470681743360
ret i64 281470681743360
}
define i64 @test7() {
; CHECK-LABEL: test7:
-; CHECK: orr x0, xzr, #0x1000000000000
+; CHECK: mov x0, #281474976710656
ret i64 281474976710656
}
@@ -82,28 +82,28 @@ define void @test11() {
define void @test12() {
; CHECK-LABEL: test12:
-; CHECK: orr {{w[0-9]+}}, wzr, #0x1
+; CHECK: mov {{w[0-9]+}}, #1
store i32 1, i32* @var32
ret void
}
define void @test13() {
; CHECK-LABEL: test13:
-; CHECK: orr {{w[0-9]+}}, wzr, #0xffff
+; CHECK: mov {{w[0-9]+}}, #65535
store i32 65535, i32* @var32
ret void
}
define void @test14() {
; CHECK-LABEL: test14:
-; CHECK: orr {{w[0-9]+}}, wzr, #0x10000
+; CHECK: mov {{w[0-9]+}}, #65536
store i32 65536, i32* @var32
ret void
}
define void @test15() {
; CHECK-LABEL: test15:
-; CHECK: orr {{w[0-9]+}}, wzr, #0xffff0000
+; CHECK: mov {{w[0-9]+}}, #-65536
store i32 4294901760, i32* @var32
ret void
}
@@ -119,6 +119,6 @@ define i64 @test17() {
; CHECK-LABEL: test17:
; Mustn't MOVN w0 here.
-; CHECK: orr x0, xzr, #0xfffffffffffffffd
+; CHECK: mov x0, #-3
ret i64 -3
}
Modified: llvm/trunk/test/CodeGen/AArch64/neon-compare-instructions.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/neon-compare-instructions.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/neon-compare-instructions.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/neon-compare-instructions.ll Mon Mar 25 14:25:28 2019
@@ -1146,7 +1146,7 @@ define <4 x i32> @cmhsz4xi32(<4 x i32> %
define <2 x i64> @cmhsz2xi64(<2 x i64> %A) {
; CHECK-LABEL: cmhsz2xi64:
-; CHECK: orr w[[TWO:[0-9]+]], wzr, #0x2
+; CHECK: mov w[[TWO:[0-9]+]], #2
; CHECK-NEXT: {{v[0-9]+}}.2d, x[[TWO]]
; CHECK-NEXT: cmhs {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, {{v[0-9]+}}.2d
%tmp3 = icmp uge <2 x i64> %A, <i64 2, i64 2>
@@ -1211,7 +1211,7 @@ define <4 x i32> @cmhiz4xi32(<4 x i32> %
define <2 x i64> @cmhiz2xi64(<2 x i64> %A) {
; CHECK-LABEL: cmhiz2xi64:
-; CHECK: orr w[[ONE:[0-9]+]], wzr, #{{0x1|1}}
+; CHECK: mov w[[ONE:[0-9]+]], #1
; CHECK-NEXT: dup {{v[0-9]+}}.2d, x[[ONE]]
; CHECK-NEXT: cmhi {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, {{v[0-9]+}}.2d
%tmp3 = icmp ugt <2 x i64> %A, <i64 1, i64 1>
@@ -1366,7 +1366,7 @@ define <2 x i64> @cmloz2xi64(<2 x i64> %
; CHECK-LABEL: cmloz2xi64:
; Using registers other than v0, v1 are possible, but would be odd.
; LO implemented as HI, so check reversed operands.
-; CHECK: orr w[[TWO:[0-9]+]], wzr, #{{0x2|2}}
+; CHECK: mov w[[TWO:[0-9]+]], #2
; CHECK-NEXT: dup v1.2d, x[[TWO]]
; CHECK-NEXT: cmhi {{v[0-9]+}}.2d, v1.2d, v0.2d
%tmp3 = icmp ult <2 x i64> %A, <i64 2, i64 2>
Modified: llvm/trunk/test/CodeGen/AArch64/optimize-imm.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/optimize-imm.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/optimize-imm.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/optimize-imm.ll Mon Mar 25 14:25:28 2019
@@ -52,7 +52,7 @@ entry:
; a BIC.
; CHECK-LABEL: xor1:
-; CHECK: orr [[R0:w[0-9]+]], wzr, #0x38
+; CHECK: mov [[R0:w[0-9]+]], #56
; CHECK: bic {{w[0-9]+}}, [[R0]], w0, lsl #3
define i32 @xor1(i32 %a) {
Modified: llvm/trunk/test/CodeGen/AArch64/redundant-copy-elim-empty-mbb.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/redundant-copy-elim-empty-mbb.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/redundant-copy-elim-empty-mbb.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/redundant-copy-elim-empty-mbb.ll Mon Mar 25 14:25:28 2019
@@ -9,7 +9,7 @@ declare i8* @bar()
; CHECK-LABEL: foo:
; CHECK: tbz
-; CHECK: orr
+; CHECK: mov{{.*}}, #1
; CHECK: ret
; CHECK: bl bar
; CHECK: cbnz
Modified: llvm/trunk/test/CodeGen/AArch64/sadd_sat.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/sadd_sat.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/sadd_sat.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/sadd_sat.ll Mon Mar 25 14:25:28 2019
@@ -10,7 +10,7 @@ define i32 @func(i32 %x, i32 %y) nounwin
; CHECK-LABEL: func:
; CHECK: // %bb.0:
; CHECK-NEXT: adds w8, w0, w1
-; CHECK-NEXT: orr w9, wzr, #0x7fffffff
+; CHECK-NEXT: mov w9, #2147483647
; CHECK-NEXT: cmp w8, #0 // =0
; CHECK-NEXT: cinv w8, w9, ge
; CHECK-NEXT: adds w9, w0, w1
@@ -24,7 +24,7 @@ define i64 @func2(i64 %x, i64 %y) nounwi
; CHECK-LABEL: func2:
; CHECK: // %bb.0:
; CHECK-NEXT: adds x8, x0, x1
-; CHECK-NEXT: orr x9, xzr, #0x7fffffffffffffff
+; CHECK-NEXT: mov x9, #9223372036854775807
; CHECK-NEXT: cmp x8, #0 // =0
; CHECK-NEXT: cinv x8, x9, ge
; CHECK-NEXT: adds x9, x0, x1
@@ -39,7 +39,7 @@ define i4 @func3(i4 %x, i4 %y) nounwind
; CHECK: // %bb.0:
; CHECK-NEXT: lsl w8, w0, #28
; CHECK-NEXT: adds w10, w8, w1, lsl #28
-; CHECK-NEXT: orr w9, wzr, #0x7fffffff
+; CHECK-NEXT: mov w9, #2147483647
; CHECK-NEXT: cmp w10, #0 // =0
; CHECK-NEXT: cinv w9, w9, ge
; CHECK-NEXT: adds w8, w8, w1, lsl #28
Modified: llvm/trunk/test/CodeGen/AArch64/sadd_sat_vec.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/sadd_sat_vec.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/sadd_sat_vec.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/sadd_sat_vec.ll Mon Mar 25 14:25:28 2019
@@ -746,7 +746,7 @@ define <2 x i64> @v2i64(<2 x i64> %x, <2
; CHECK-NEXT: cmge v1.2d, v1.2d, #0
; CHECK-NEXT: cmge v0.2d, v0.2d, #0
; CHECK-NEXT: cmge v5.2d, v2.2d, #0
-; CHECK-NEXT: orr x8, xzr, #0x7fffffffffffffff
+; CHECK-NEXT: mov x8, #9223372036854775807
; CHECK-NEXT: cmlt v3.2d, v2.2d, #0
; CHECK-NEXT: cmeq v1.2d, v0.2d, v1.2d
; CHECK-NEXT: cmeq v0.2d, v0.2d, v5.2d
@@ -765,7 +765,7 @@ define <4 x i64> @v4i64(<4 x i64> %x, <4
; CHECK-LABEL: v4i64:
; CHECK: // %bb.0:
; CHECK-NEXT: add v4.2d, v0.2d, v2.2d
-; CHECK-NEXT: orr x8, xzr, #0x7fffffffffffffff
+; CHECK-NEXT: mov x8, #9223372036854775807
; CHECK-NEXT: cmlt v6.2d, v4.2d, #0
; CHECK-NEXT: dup v7.2d, x8
; CHECK-NEXT: add v5.2d, v1.2d, v3.2d
@@ -800,7 +800,7 @@ define <8 x i64> @v8i64(<8 x i64> %x, <8
; CHECK-LABEL: v8i64:
; CHECK: // %bb.0:
; CHECK-NEXT: add v16.2d, v0.2d, v4.2d
-; CHECK-NEXT: orr x8, xzr, #0x7fffffffffffffff
+; CHECK-NEXT: mov x8, #9223372036854775807
; CHECK-NEXT: add v17.2d, v1.2d, v5.2d
; CHECK-NEXT: cmlt v20.2d, v16.2d, #0
; CHECK-NEXT: dup v21.2d, x8
@@ -872,7 +872,7 @@ define <2 x i128> @v2i128(<2 x i128> %x,
; CHECK-NEXT: adcs x12, x3, x7
; CHECK-NEXT: cmp x12, #0 // =0
; CHECK-NEXT: cset w13, ge
-; CHECK-NEXT: orr x8, xzr, #0x7fffffffffffffff
+; CHECK-NEXT: mov x8, #9223372036854775807
; CHECK-NEXT: csinc w13, w13, wzr, ne
; CHECK-NEXT: cinv x14, x8, ge
; CHECK-NEXT: cmp w10, w13
Modified: llvm/trunk/test/CodeGen/AArch64/sdivpow2.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/sdivpow2.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/sdivpow2.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/sdivpow2.ll Mon Mar 25 14:25:28 2019
@@ -77,7 +77,7 @@ define i64 @test6(i64 %x) {
define i64 @test7(i64 %x) {
; CHECK-LABEL: test7:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr x8, xzr, #0xffffffffffff
+; CHECK-NEXT: mov x8, #281474976710655
; CHECK-NEXT: add x8, x0, x8
; CHECK-NEXT: cmp x0, #0 // =0
; CHECK-NEXT: csel x8, x8, x0, lt
Modified: llvm/trunk/test/CodeGen/AArch64/seh-finally.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/seh-finally.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/seh-finally.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/seh-finally.ll Mon Mar 25 14:25:28 2019
@@ -36,7 +36,7 @@ define void @simple_seh() #0 personality
entry:
; CHECK-LABEL: simple_seh
; CHECK: add x29, sp, #16
-; CHECK: orr x0, xzr, #0xfffffffffffffffe
+; CHECK: mov x0, #-2
; CHECK: stur x0, [x29, #-16]
; CHECK: .set .Lsimple_seh$frame_escape_0, -8
; CHECK: ldur w0, [x29, #-8]
@@ -90,7 +90,7 @@ entry:
; CHECK: sub x9, sp, #64
; CHECK: and sp, x9, #0xffffffffffffffe0
; CHECK: mov x19, sp
-; CHECK: orr x0, xzr, #0xfffffffffffffffe
+; CHECK: mov x0, #-2
; CHECK: stur x0, [x19, #16]
; CHECK: .set .Lstack_realign$frame_escape_0, 32
; CHECK: ldr w0, [x19, #32]
@@ -141,7 +141,7 @@ define void @vla_present(i32 %n) #0 pers
entry:
; CHECK-LABEL: vla_present
; CHECK: add x29, sp, #32
-; CHECK: orr x1, xzr, #0xfffffffffffffffe
+; CHECK: mov x1, #-2
; CHECK: stur x1, [x29, #-32]
; CHECK: .set .Lvla_present$frame_escape_0, -4
; CHECK: stur w0, [x29, #-4]
@@ -209,7 +209,7 @@ entry:
; CHECK: sub x9, sp, #64
; CHECK: and sp, x9, #0xffffffffffffffe0
; CHECK: mov x19, sp
-; CHECK: orr x1, xzr, #0xfffffffffffffffe
+; CHECK: mov x1, #-2
; CHECK: stur x1, [x19]
; CHECK: .set .Lvla_and_realign$frame_escape_0, 32
; CHECK: stur w0, [x29, #-4]
Modified: llvm/trunk/test/CodeGen/AArch64/selectcc-to-shiftand.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/selectcc-to-shiftand.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/selectcc-to-shiftand.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/selectcc-to-shiftand.ll Mon Mar 25 14:25:28 2019
@@ -75,7 +75,7 @@ define i32 @pos_sel_constants(i32 %a) {
define i32 @pos_sel_special_constant(i32 %a) {
; CHECK-LABEL: pos_sel_special_constant:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x200
+; CHECK-NEXT: mov w8, #512
; CHECK-NEXT: bic w0, w8, w0, lsr #22
; CHECK-NEXT: ret
;
Modified: llvm/trunk/test/CodeGen/AArch64/signed-truncation-check.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/signed-truncation-check.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/signed-truncation-check.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/signed-truncation-check.ll Mon Mar 25 14:25:28 2019
@@ -381,7 +381,7 @@ define i1 @add_ultcmp_bad_i24_i8(i24 %x)
define i1 @add_ulecmp_bad_i16_i8(i16 %x) nounwind {
; CHECK-LABEL: add_ulecmp_bad_i16_i8:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w0, wzr, #0x1
+; CHECK-NEXT: mov w0, #1
; CHECK-NEXT: ret
%tmp0 = add i16 %x, 128 ; 1U << (8-1)
%tmp1 = icmp ule i16 %tmp0, -1 ; when we +1 it, it will wrap to 0
Modified: llvm/trunk/test/CodeGen/AArch64/ssub_sat.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/ssub_sat.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/ssub_sat.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/ssub_sat.ll Mon Mar 25 14:25:28 2019
@@ -10,7 +10,7 @@ define i32 @func(i32 %x, i32 %y) nounwin
; CHECK-LABEL: func:
; CHECK: // %bb.0:
; CHECK-NEXT: subs w8, w0, w1
-; CHECK-NEXT: orr w9, wzr, #0x7fffffff
+; CHECK-NEXT: mov w9, #2147483647
; CHECK-NEXT: cmp w8, #0 // =0
; CHECK-NEXT: cinv w8, w9, ge
; CHECK-NEXT: subs w9, w0, w1
@@ -24,7 +24,7 @@ define i64 @func2(i64 %x, i64 %y) nounwi
; CHECK-LABEL: func2:
; CHECK: // %bb.0:
; CHECK-NEXT: subs x8, x0, x1
-; CHECK-NEXT: orr x9, xzr, #0x7fffffffffffffff
+; CHECK-NEXT: mov x9, #9223372036854775807
; CHECK-NEXT: cmp x8, #0 // =0
; CHECK-NEXT: cinv x8, x9, ge
; CHECK-NEXT: subs x9, x0, x1
@@ -39,7 +39,7 @@ define i4 @func3(i4 %x, i4 %y) nounwind
; CHECK: // %bb.0:
; CHECK-NEXT: lsl w8, w0, #28
; CHECK-NEXT: subs w10, w8, w1, lsl #28
-; CHECK-NEXT: orr w9, wzr, #0x7fffffff
+; CHECK-NEXT: mov w9, #2147483647
; CHECK-NEXT: cmp w10, #0 // =0
; CHECK-NEXT: cinv w9, w9, ge
; CHECK-NEXT: subs w8, w8, w1, lsl #28
Modified: llvm/trunk/test/CodeGen/AArch64/ssub_sat_vec.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/ssub_sat_vec.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/ssub_sat_vec.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/ssub_sat_vec.ll Mon Mar 25 14:25:28 2019
@@ -781,7 +781,7 @@ define <2 x i64> @v2i64(<2 x i64> %x, <2
; CHECK-NEXT: cmge v1.2d, v1.2d, #0
; CHECK-NEXT: cmge v0.2d, v0.2d, #0
; CHECK-NEXT: cmge v5.2d, v2.2d, #0
-; CHECK-NEXT: orr x8, xzr, #0x7fffffffffffffff
+; CHECK-NEXT: mov x8, #9223372036854775807
; CHECK-NEXT: cmlt v3.2d, v2.2d, #0
; CHECK-NEXT: cmeq v1.2d, v0.2d, v1.2d
; CHECK-NEXT: cmeq v0.2d, v0.2d, v5.2d
@@ -801,7 +801,7 @@ define <4 x i64> @v4i64(<4 x i64> %x, <4
; CHECK-LABEL: v4i64:
; CHECK: // %bb.0:
; CHECK-NEXT: sub v4.2d, v0.2d, v2.2d
-; CHECK-NEXT: orr x8, xzr, #0x7fffffffffffffff
+; CHECK-NEXT: mov x8, #9223372036854775807
; CHECK-NEXT: cmlt v6.2d, v4.2d, #0
; CHECK-NEXT: dup v7.2d, x8
; CHECK-NEXT: sub v5.2d, v1.2d, v3.2d
@@ -838,7 +838,7 @@ define <8 x i64> @v8i64(<8 x i64> %x, <8
; CHECK-LABEL: v8i64:
; CHECK: // %bb.0:
; CHECK-NEXT: sub v16.2d, v0.2d, v4.2d
-; CHECK-NEXT: orr x8, xzr, #0x7fffffffffffffff
+; CHECK-NEXT: mov x8, #9223372036854775807
; CHECK-NEXT: sub v17.2d, v1.2d, v5.2d
; CHECK-NEXT: cmlt v20.2d, v16.2d, #0
; CHECK-NEXT: dup v21.2d, x8
@@ -914,7 +914,7 @@ define <2 x i128> @v2i128(<2 x i128> %x,
; CHECK-NEXT: sbcs x12, x3, x7
; CHECK-NEXT: cmp x12, #0 // =0
; CHECK-NEXT: cset w13, ge
-; CHECK-NEXT: orr x8, xzr, #0x7fffffffffffffff
+; CHECK-NEXT: mov x8, #9223372036854775807
; CHECK-NEXT: csinc w13, w13, wzr, ne
; CHECK-NEXT: cinv x14, x8, ge
; CHECK-NEXT: cmp w10, w13
Modified: llvm/trunk/test/CodeGen/AArch64/swifterror.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/swifterror.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/swifterror.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/swifterror.ll Mon Mar 25 14:25:28 2019
@@ -9,19 +9,19 @@ declare void @free(i8*)
; that takes a swifterror parameter and "caller" is the caller of "foo".
define float @foo(%swift_error** swifterror %error_ptr_ref) {
; CHECK-APPLE-LABEL: foo:
-; CHECK-APPLE: orr w0, wzr, #0x10
+; CHECK-APPLE: mov w0, #16
; CHECK-APPLE: malloc
-; CHECK-APPLE: orr [[ID:w[0-9]+]], wzr, #0x1
+; CHECK-APPLE: mov [[ID:w[0-9]+]], #1
; CHECK-APPLE: strb [[ID]], [x0, #8]
; CHECK-APPLE: mov x21, x0
; CHECK-APPLE-NOT: x21
; CHECK-O0-LABEL: foo:
-; CHECK-O0: orr w{{.*}}, wzr, #0x10
+; CHECK-O0: mov w{{.*}}, #16
; CHECK-O0: malloc
; CHECK-O0: mov x1, x0
; CHECK-O0-NOT: x1
-; CHECK-O0: orr [[ID:w[0-9]+]], wzr, #0x1
+; CHECK-O0: mov [[ID:w[0-9]+]], #1
; CHECK-O0: strb [[ID]], [x0, #8]
; CHECK-O0: mov x21, x1
entry:
@@ -118,9 +118,9 @@ handler:
define float @foo_if(%swift_error** swifterror %error_ptr_ref, i32 %cc) {
; CHECK-APPLE-LABEL: foo_if:
; CHECK-APPLE: cbz w0
-; CHECK-APPLE: orr w0, wzr, #0x10
+; CHECK-APPLE: mov w0, #16
; CHECK-APPLE: malloc
-; CHECK-APPLE: orr [[ID:w[0-9]+]], wzr, #0x1
+; CHECK-APPLE: mov [[ID:w[0-9]+]], #1
; CHECK-APPLE: strb [[ID]], [x0, #8]
; CHECK-APPLE: mov x21, x0
; CHECK-APPLE-NOT: x21
@@ -130,10 +130,10 @@ define float @foo_if(%swift_error** swif
; spill x21
; CHECK-O0: str x21, [sp, [[SLOT:#[0-9]+]]]
; CHECK-O0: cbz w0
-; CHECK-O0: orr w{{.*}}, wzr, #0x10
+; CHECK-O0: mov w{{.*}}, #16
; CHECK-O0: malloc
; CHECK-O0: mov [[ID:x[0-9]+]], x0
-; CHECK-O0: orr [[ID2:w[0-9]+]], wzr, #0x1
+; CHECK-O0: mov [[ID2:w[0-9]+]], #1
; CHECK-O0: strb [[ID2]], [x0, #8]
; CHECK-O0: mov x21, [[ID]]
; CHECK-O0: ret
@@ -163,7 +163,7 @@ define float @foo_loop(%swift_error** sw
; CHECK-APPLE-LABEL: foo_loop:
; CHECK-APPLE: mov x0, x21
; CHECK-APPLE: cbz
-; CHECK-APPLE: orr w0, wzr, #0x10
+; CHECK-APPLE: mov w0, #16
; CHECK-APPLE: malloc
; CHECK-APPLE: strb w{{.*}}, [x0, #8]
; CHECK-APPLE: fcmp
@@ -179,7 +179,7 @@ define float @foo_loop(%swift_error** sw
; CHECK-O0: ldr x0, [sp, [[SLOT]]]
; CHECK-O0: str x0, [sp, [[SLOT2:#[0-9]+]]]
; CHECK-O0: cbz {{.*}}, [[BB2:[A-Za-z0-9_]*]]
-; CHECK-O0: orr w{{.*}}, wzr, #0x10
+; CHECK-O0: mov w{{.*}}, #16
; CHECK-O0: malloc
; CHECK-O0: mov [[ID:x[0-9]+]], x0
; CHECK-O0: strb w{{.*}}, [{{.*}}[[ID]], #8]
@@ -223,22 +223,22 @@ bb_end:
define void @foo_sret(%struct.S* sret %agg.result, i32 %val1, %swift_error** swifterror %error_ptr_ref) {
; CHECK-APPLE-LABEL: foo_sret:
; CHECK-APPLE: mov [[SRET:x[0-9]+]], x8
-; CHECK-APPLE: orr w0, wzr, #0x10
+; CHECK-APPLE: mov w0, #16
; CHECK-APPLE: malloc
-; CHECK-APPLE: orr [[ID:w[0-9]+]], wzr, #0x1
+; CHECK-APPLE: mov [[ID:w[0-9]+]], #1
; CHECK-APPLE: strb [[ID]], [x0, #8]
; CHECK-APPLE: str w{{.*}}, [{{.*}}[[SRET]], #4]
; CHECK-APPLE: mov x21, x0
; CHECK-APPLE-NOT: x21
; CHECK-O0-LABEL: foo_sret:
-; CHECK-O0: orr w{{.*}}, wzr, #0x10
+; CHECK-O0: mov w{{.*}}, #16
; spill x8
; CHECK-O0-DAG: str x8
; spill x21
; CHECK-O0-DAG: str x21
; CHECK-O0: malloc
-; CHECK-O0: orr [[ID:w[0-9]+]], wzr, #0x1
+; CHECK-O0: mov [[ID:w[0-9]+]], #1
; CHECK-O0: strb [[ID]], [x0, #8]
; reload from stack
; CHECK-O0: ldr [[SRET:x[0-9]+]]
@@ -306,9 +306,9 @@ handler:
declare void @llvm.va_start(i8*) nounwind
define float @foo_vararg(%swift_error** swifterror %error_ptr_ref, ...) {
; CHECK-APPLE-LABEL: foo_vararg:
-; CHECK-APPLE: orr w0, wzr, #0x10
+; CHECK-APPLE: mov w0, #16
; CHECK-APPLE: malloc
-; CHECK-APPLE-DAG: orr [[ID:w[0-9]+]], wzr, #0x1
+; CHECK-APPLE-DAG: mov [[ID:w[0-9]+]], #1
; CHECK-APPLE-DAG: add [[ARGS:x[0-9]+]], [[TMP:x[0-9]+]], #16
; CHECK-APPLE-DAG: strb [[ID]], [x0, #8]
@@ -439,14 +439,14 @@ define swiftcc void @swifterror_reg_clob
; CHECK-APPLE: mov x19, x1
; CHECK-APPLE: mov x22, x0
; Setup call.
-; CHECK-APPLE: orr w0, wzr, #0x1
-; CHECK-APPLE: orr w1, wzr, #0x2
-; CHECK-APPLE: orr w2, wzr, #0x3
-; CHECK-APPLE: orr w3, wzr, #0x4
+; CHECK-APPLE: mov w0, #1
+; CHECK-APPLE: mov w1, #2
+; CHECK-APPLE: mov w2, #3
+; CHECK-APPLE: mov w3, #4
; CHECK-APPLE: mov w4, #5
-; CHECK-APPLE: orr w5, wzr, #0x6
-; CHECK-APPLE: orr w6, wzr, #0x7
-; CHECK-APPLE: orr w7, wzr, #0x8
+; CHECK-APPLE: mov w5, #6
+; CHECK-APPLE: mov w6, #7
+; CHECK-APPLE: mov w7, #8
; CHECK-APPLE: mov x20, xzr
; CHECK-APPLE: mov x21, xzr
; CHECK-APPLE: bl _params_in_reg2
@@ -505,14 +505,14 @@ declare swiftcc void @params_in_reg2(i64
; CHECK-APPLE: mov x19, x1
; CHECK-APPLE: mov x22, x0
; Setup call arguments.
-; CHECK-APPLE: orr w0, wzr, #0x1
-; CHECK-APPLE: orr w1, wzr, #0x2
-; CHECK-APPLE: orr w2, wzr, #0x3
-; CHECK-APPLE: orr w3, wzr, #0x4
+; CHECK-APPLE: mov w0, #1
+; CHECK-APPLE: mov w1, #2
+; CHECK-APPLE: mov w2, #3
+; CHECK-APPLE: mov w3, #4
; CHECK-APPLE: mov w4, #5
-; CHECK-APPLE: orr w5, wzr, #0x6
-; CHECK-APPLE: orr w6, wzr, #0x7
-; CHECK-APPLE: orr w7, wzr, #0x8
+; CHECK-APPLE: mov w5, #6
+; CHECK-APPLE: mov w6, #7
+; CHECK-APPLE: mov w7, #8
; CHECK-APPLE: mov x20, xzr
; CHECK-APPLE: mov x21, xzr
; CHECK-APPLE: bl _params_in_reg2
@@ -541,15 +541,15 @@ declare swiftcc void @params_in_reg2(i64
; Save swifterror %err.
; CHECK-APPLE: str x21, [sp, #24]
; Setup call.
-; CHECK-APPLE: orr w0, wzr, #0x1
-; CHECK-APPLE: orr w1, wzr, #0x2
-; CHECK-APPLE: orr w2, wzr, #0x3
-; CHECK-APPLE: orr w3, wzr, #0x4
+; CHECK-APPLE: mov w0, #1
+; CHECK-APPLE: mov w1, #2
+; CHECK-APPLE: mov w2, #3
+; CHECK-APPLE: mov w3, #4
; CHECK-APPLE: mov w4, #5
-; CHECK-APPLE: orr w5, wzr, #0x6
-; CHECK-APPLE: orr w6, wzr, #0x7
-; CHECK-APPLE: orr w7, wzr, #0x8
-; CHECK-APPLE: mov x20, xzr
+; CHECK-APPLE: mov w5, #6
+; CHECK-APPLE: mov w6, #7
+; CHECK-APPLE: mov w7, #8
+; CHECK-APPLE: mov x20, xzr
; ... setup call with swiferror %error_ptr_ref.
; CHECK-APPLE: ldr x21, [sp, #8]
; CHECK-APPLE: bl _params_in_reg2
Modified: llvm/trunk/test/CodeGen/AArch64/tst-br.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/tst-br.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/tst-br.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/tst-br.ll Mon Mar 25 14:25:28 2019
@@ -36,13 +36,13 @@ test3:
; CHECK: tbz {{[wx][0-9]+}}, #12, [[LBL_end1]]
end2:
-; CHECK: {{movz x0, #1|orr w0, wzr, #0x1}}
+; CHECK: mov w0, #1
; CHECK-NEXT: ret
ret i32 1
end1:
; CHECK: [[LBL_end1]]:
-; CHECK-NEXT: {{mov x0, xzr|mov w0, wzr}}
+; CHECK-NEXT: mov w0, wzr
; CHECK-NEXT: ret
ret i32 0
}
Modified: llvm/trunk/test/CodeGen/AArch64/urem-seteq.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/urem-seteq.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/urem-seteq.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/urem-seteq.ll Mon Mar 25 14:25:28 2019
@@ -75,7 +75,7 @@ define i16 @test_urem_even(i16 %X) nounw
; CHECK-NEXT: umull x9, w9, w10
; CHECK-NEXT: and w8, w0, #0xffff
; CHECK-NEXT: lsr x9, x9, #34
-; CHECK-NEXT: orr w10, wzr, #0xe
+; CHECK-NEXT: mov w10, #14
; CHECK-NEXT: msub w8, w9, w10, w8
; CHECK-NEXT: cmp w8, #0 // =0
; CHECK-NEXT: cset w0, ne
@@ -129,7 +129,7 @@ define i32 @test_urem_even_bit31(i32 %X)
define i32 @test_urem_one(i32 %X) nounwind readnone {
; CHECK-LABEL: test_urem_one:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w0, wzr, #0x1
+; CHECK-NEXT: mov w0, #1
; CHECK-NEXT: ret
%urem = urem i32 %X, 1
%cmp = icmp eq i32 %urem, 0
Modified: llvm/trunk/test/CodeGen/AArch64/vec_cttz.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/vec_cttz.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/vec_cttz.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/vec_cttz.ll Mon Mar 25 14:25:28 2019
@@ -54,7 +54,7 @@ define <2 x i32> @cttz_v2i32(<2 x i32> %
define <1 x i64> @cttz_v1i64(<1 x i64> %a) nounwind {
; CHECK-LABEL: cttz_v1i64:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x1
+; CHECK-NEXT: mov w8, #1
; CHECK-NEXT: fmov d1, x8
; CHECK-NEXT: sub d1, d0, d1
; CHECK-NEXT: bic v0.8b, v1.8b, v0.8b
@@ -110,7 +110,7 @@ define <4 x i32> @cttz_v4i32(<4 x i32> %
define <2 x i64> @cttz_v2i64(<2 x i64> %a) nounwind {
; CHECK-LABEL: cttz_v2i64:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x1
+; CHECK-NEXT: mov w8, #1
; CHECK-NEXT: dup v1.2d, x8
; CHECK-NEXT: sub v1.2d, v0.2d, v1.2d
; CHECK-NEXT: bic v0.16b, v1.16b, v0.16b
Modified: llvm/trunk/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll Mon Mar 25 14:25:28 2019
@@ -47,7 +47,7 @@ define fp128 @test_v1f128(<1 x fp128> %a
define float @test_v3f32(<3 x float> %a) nounwind {
; CHECK-LABEL: test_v3f32:
; CHECK: // %bb.0:
-; CHECK-NEXT: orr w8, wzr, #0x7f800000
+; CHECK-NEXT: mov w8, #2139095040
; CHECK-NEXT: fmov s1, w8
; CHECK-NEXT: mov v0.s[3], v1.s[0]
; CHECK-NEXT: fmaxnmv s0, v0.4s
Modified: llvm/trunk/test/CodeGen/AArch64/wineh-try-catch-cbz.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/wineh-try-catch-cbz.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/wineh-try-catch-cbz.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/wineh-try-catch-cbz.ll Mon Mar 25 14:25:28 2019
@@ -7,7 +7,7 @@
; CHECK: sub sp, sp, #32
; CHECK-NEXT: stp x29, x30, [sp, #16]
; CHECK-NEXT: add x29, sp, #16
-; CHECK-NEXT: orr x1, xzr, #0xfffffffffffffffe
+; CHECK-NEXT: mov x1, #-2
; CHECK-NEXT: stur x1, [x29, #-16]
; CHECK-NEXT: cbz w0, .LBB0_2
Modified: llvm/trunk/test/CodeGen/AArch64/wineh-try-catch.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/wineh-try-catch.ll?rev=356954&r1=356953&r2=356954&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/wineh-try-catch.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/wineh-try-catch.ll Mon Mar 25 14:25:28 2019
@@ -22,12 +22,12 @@
; CHECK: add x29, sp, #32
; CHECK: sub sp, sp, #624
; CHECK: mov x19, sp
-; CHECK: orr x0, xzr, #0xfffffffffffffffe
+; CHECK: mov x0, #-2
; CHECK: stur x0, [x19]
; Now check that x is stored at fp - 20. We check that this is the same
; location accessed from the funclet to retrieve x.
-; CHECK: orr w8, wzr, #0x1
+; CHECK: mov w8, #1
; CHECK: stur w8, [x29, [[X_OFFSET:#-[1-9][0-9]+]]
; Check the offset off the frame pointer at which B is located.
More information about the llvm-commits
mailing list