Lines Matching +full:r +full:- +full:xp
2 ; RUN: llc < %s -mtriple=aarch64-apple-darwin | FileCheck %s
9 ; CHECK-LABEL: test1:
11 ; CHECK-NEXT: mov w0, #1
12 ; CHECK-NEXT: ret
21 ; CHECK-LABEL: test2:
23 ; CHECK-NEXT: mov w0, #1
24 ; CHECK-NEXT: ret
33 ; CHECK-LABEL: test3:
35 ; CHECK-NEXT: mov w0, #1
36 ; CHECK-NEXT: ret
45 ; CHECK-LABEL: test4:
47 ; CHECK-NEXT: mov w0, #1
48 ; CHECK-NEXT: ret
57 ; CHECK-LABEL: demand_one_byte0:
59 ; CHECK-NEXT: rev w0, w0
60 ; CHECK-NEXT: ret
62 %r = trunc i32 %b to i8
63 ret i8 %r
67 ; CHECK-LABEL: demand_one_byte1:
69 ; CHECK-NEXT: lsr w8, w0, #8
70 ; CHECK-NEXT: and w0, w8, #0xff00
71 ; CHECK-NEXT: ret
73 %r = and i32 %b, 65280 ; 0x0000ff00
74 ret i32 %r
78 ; CHECK-LABEL: demand_one_byte2:
80 ; CHECK-NEXT: lsl w8, w0, #8
81 ; CHECK-NEXT: orr w0, w8, #0xff00ffff
82 ; CHECK-NEXT: ret
84 %r = or i32 %b, 4278255615 ; 0xff00ffff
85 ret i32 %r
89 ; CHECK-LABEL: demand_one_byte3:
91 ; CHECK-NEXT: and x0, x0, #0xff
92 ; CHECK-NEXT: ret
94 %r = lshr i64 %b, 56
95 ret i64 %r
98 define void @demand_one_loaded_byte(ptr %xp, ptr %yp) {
99 ; CHECK-LABEL: demand_one_loaded_byte:
101 ; CHECK-NEXT: ldrb w8, [x0, #4]
102 ; CHECK-NEXT: strb w8, [x1]
103 ; CHECK-NEXT: ret
104 %x = load i64, ptr %xp, align 8
109 %y_321z = and i32 %y, -256
111 %r = or i32 %x_zzz4, %y_321z
112 store i32 %r, ptr %yp, align 4