1 ; RUN: llc -mtriple=aarch64-apple-darwin -fast-isel=0 -verify-machineinstrs < %s | FileCheck %s
2 ; RUN: llc -mtriple=aarch64-apple-darwin -fast-isel=1 -fast-isel-abort -verify-machineinstrs < %s | FileCheck %s
5 define i32 @and_rr_i32(i32 %a, i32 %b) {
6 ; CHECK-LABEL: and_rr_i32
7 ; CHECK: and w0, w0, w1
12 define i64 @and_rr_i64(i64 %a, i64 %b) {
13 ; CHECK-LABEL: and_rr_i64
14 ; CHECK: and x0, x0, x1
19 define i32 @and_ri_i32(i32 %a) {
20 ; CHECK-LABEL: and_ri_i32
21 ; CHECK: and w0, w0, #0xff
26 define i64 @and_ri_i64(i64 %a) {
27 ; CHECK-LABEL: and_ri_i64
28 ; CHECK: and x0, x0, #0xff
33 define i32 @and_rs_i32(i32 %a, i32 %b) {
34 ; CHECK-LABEL: and_rs_i32
35 ; CHECK: and w0, w0, w1, lsl #8
41 define i64 @and_rs_i64(i64 %a, i64 %b) {
42 ; CHECK-LABEL: and_rs_i64
43 ; CHECK: and x0, x0, x1, lsl #8
50 define i32 @or_rr_i32(i32 %a, i32 %b) {
51 ; CHECK-LABEL: or_rr_i32
52 ; CHECK: orr w0, w0, w1
57 define i64 @or_rr_i64(i64 %a, i64 %b) {
58 ; CHECK-LABEL: or_rr_i64
59 ; CHECK: orr x0, x0, x1
64 define i32 @or_ri_i32(i32 %a) {
65 ; CHECK-LABEL: or_ri_i32
66 ; CHECK: orr w0, w0, #0xff
71 define i64 @or_ri_i64(i64 %a) {
72 ; CHECK-LABEL: or_ri_i64
73 ; CHECK: orr x0, x0, #0xff
78 define i32 @or_rs_i32(i32 %a, i32 %b) {
79 ; CHECK-LABEL: or_rs_i32
80 ; CHECK: orr w0, w0, w1, lsl #8
86 define i64 @or_rs_i64(i64 %a, i64 %b) {
87 ; CHECK-LABEL: or_rs_i64
88 ; CHECK: orr x0, x0, x1, lsl #8
95 define i32 @xor_rr_i32(i32 %a, i32 %b) {
96 ; CHECK-LABEL: xor_rr_i32
97 ; CHECK: eor w0, w0, w1
102 define i64 @xor_rr_i64(i64 %a, i64 %b) {
103 ; CHECK-LABEL: xor_rr_i64
104 ; CHECK: eor x0, x0, x1
109 define i32 @xor_ri_i32(i32 %a) {
110 ; CHECK-LABEL: xor_ri_i32
111 ; CHECK: eor w0, w0, #0xff
116 define i64 @xor_ri_i64(i64 %a) {
117 ; CHECK-LABEL: xor_ri_i64
118 ; CHECK: eor x0, x0, #0xff
123 define i32 @xor_rs_i32(i32 %a, i32 %b) {
124 ; CHECK-LABEL: xor_rs_i32
125 ; CHECK: eor w0, w0, w1, lsl #8
131 define i64 @xor_rs_i64(i64 %a, i64 %b) {
132 ; CHECK-LABEL: xor_rs_i64
133 ; CHECK: eor x0, x0, x1, lsl #8