Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / test / CodeGen / AArch64 / movimm-expand-ldst.ll
blobb25ac96f97c7d07291f7f3375d6601e453c6f7f6
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2 ; RUN: llc -mtriple=aarch64 %s -o - | FileCheck %s
4 define i64 @test0x1234567812345678() {
5 ; CHECK-LABEL: test0x1234567812345678:
6 ; CHECK:       // %bb.0:
7 ; CHECK-NEXT:    mov x0, #22136 // =0x5678
8 ; CHECK-NEXT:    movk x0, #4660, lsl #16
9 ; CHECK-NEXT:    orr x0, x0, x0, lsl #32
10 ; CHECK-NEXT:    ret
11   ret i64 u0x1234567812345678
14 define i64 @test0xff3456ffff3456ff() {
15 ; CHECK-LABEL: test0xff3456ffff3456ff:
16 ; CHECK:       // %bb.0:
17 ; CHECK-NEXT:    mov x0, #22271 // =0x56ff
18 ; CHECK-NEXT:    movk x0, #65332, lsl #16
19 ; CHECK-NEXT:    orr x0, x0, x0, lsl #32
20 ; CHECK-NEXT:    ret
21   ret i64 u0xff3456ffff3456ff
24 define i64 @test0x00345600345600() {
25 ; CHECK-LABEL: test0x00345600345600:
26 ; CHECK:       // %bb.0:
27 ; CHECK-NEXT:    mov x0, #22016 // =0x5600
28 ; CHECK-NEXT:    movk x0, #52, lsl #16
29 ; CHECK-NEXT:    movk x0, #13398, lsl #32
30 ; CHECK-NEXT:    ret
31   ret i64 u0x00345600345600
34 define i64 @test0x5555555555555555() {
35 ; CHECK-LABEL: test0x5555555555555555:
36 ; CHECK:       // %bb.0:
37 ; CHECK-NEXT:    mov x0, #6148914691236517205 // =0x5555555555555555
38 ; CHECK-NEXT:    ret
39   ret i64 u0x5555555555555555
42 define i64 @test0x5055555550555555() {
43 ; CHECK-LABEL: test0x5055555550555555:
44 ; CHECK:       // %bb.0:
45 ; CHECK-NEXT:    mov x0, #6148914691236517205 // =0x5555555555555555
46 ; CHECK-NEXT:    and x0, x0, #0xf0fffffff0ffffff
47 ; CHECK-NEXT:    ret
48   ret i64 u0x5055555550555555
51 define i64 @test0x0000555555555555() {
52 ; CHECK-LABEL: test0x0000555555555555:
53 ; CHECK:       // %bb.0:
54 ; CHECK-NEXT:    mov x0, #6148914691236517205 // =0x5555555555555555
55 ; CHECK-NEXT:    movk x0, #0, lsl #48
56 ; CHECK-NEXT:    ret
57   ret i64 u0x0000555555555555
60 define i64 @test0x0000555500005555() {
61 ; CHECK-LABEL: test0x0000555500005555:
62 ; CHECK:       // %bb.0:
63 ; CHECK-NEXT:    mov x0, #21845 // =0x5555
64 ; CHECK-NEXT:    movk x0, #21845, lsl #32
65 ; CHECK-NEXT:    ret
66   ret i64 u0x0000555500005555
69 define i64 @testu0xffff5555ffff5555() {
70 ; CHECK-LABEL: testu0xffff5555ffff5555:
71 ; CHECK:       // %bb.0:
72 ; CHECK-NEXT:    mov x0, #-43691 // =0xffffffffffff5555
73 ; CHECK-NEXT:    movk x0, #21845, lsl #32
74 ; CHECK-NEXT:    ret
75   ret i64 u0xffff5555ffff5555
78 define i64 @testuu0xfffff555f555f555() {
79 ; CHECK-LABEL: testuu0xfffff555f555f555:
80 ; CHECK:       // %bb.0:
81 ; CHECK-NEXT:    mov x0, #-2731 // =0xfffffffffffff555
82 ; CHECK-NEXT:    movk x0, #62805, lsl #16
83 ; CHECK-NEXT:    movk x0, #62805, lsl #32
84 ; CHECK-NEXT:    ret
85   ret i64 u0xfffff555f555f555
88 define i64 @testuu0xf555f555f555f555() {
89 ; CHECK-LABEL: testuu0xf555f555f555f555:
90 ; CHECK:       // %bb.0:
91 ; CHECK-NEXT:    mov x0, #6148914691236517205 // =0x5555555555555555
92 ; CHECK-NEXT:    orr x0, x0, #0xe001e001e001e001
93 ; CHECK-NEXT:    ret
94   ret i64 u0xf555f555f555f555