blob: 5444a5bc7e65e5cc9d44da5b3d17cc3642918e88 [file] [log] [blame]
Hiroshi Inouecc555bd2017-08-23 08:55:18 +00001; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64le-unknown-linux-gnu | FileCheck %s
2; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-unknown-linux-gnu | FileCheck %s
3
4define i64 @ori_test_a(i64 %a) {
5entry:
6; CHECK-LABEL: @ori_test_a
7; CHECK-DAG: ori 3, 3, 65535
8; CHECK-DAG: oris 3, 3, 65535
9; CHECK-NEXT: blr
10 %or = or i64 %a, 4294967295
11 ret i64 %or
12}
13
14define i64 @ori_test_b(i64 %a) {
15entry:
16; CHECK-LABEL: @ori_test_b
17; CHECK: or 3, 3, {{[0-9]+}}
18; CHECK-NEXT: blr
19 %or = or i64 %a, 4294967296
20 ret i64 %or
21}
22
23define i64 @ori_test_c(i64 %a) {
24entry:
25; CHECK-LABEL: @ori_test_c
26; CHECK: ori 3, 3, 65535
27; CHECK-NEXT: blr
28 %or = or i64 %a, 65535
29 ret i64 %or
30}
31
32define i64 @ori_test_d(i64 %a) {
33entry:
34; CHECK-LABEL: @ori_test_d
35; CHECK: oris 3, 3, 1
36; CHECK-NEXT: blr
37 %or = or i64 %a, 65536
38 ret i64 %or
39}
40
41define zeroext i32 @ori_test_e(i32 zeroext %a) {
42entry:
43; CHECK-LABEL: @ori_test_e
44; CHECK-DAG: ori 3, 3, 65535
45; CHECK-DAG: oris 3, 3, 255
46; CHECK-NEXT: blr
47 %or = or i32 %a, 16777215
48 ret i32 %or
49}
50
51define i64 @xori_test_a(i64 %a) {
52entry:
53; CHECK-LABEL: @xori_test_a
54; CHECK-DAG: xori 3, 3, 65535
55; CHECK-DAG: xoris 3, 3, 65535
56; CHECK-NEXT: blr
57 %xor = xor i64 %a, 4294967295
58 ret i64 %xor
59}
60
61define i64 @xori_test_b(i64 %a) {
62entry:
63; CHECK-LABEL: @xori_test_b
64; CHECK: xor 3, 3, {{[0-9]+}}
65; CHECK-NEXT: blr
66 %xor = xor i64 %a, 4294967296
67 ret i64 %xor
68}
69
70define i64 @xori_test_c(i64 %a) {
71entry:
72; CHECK-LABEL: @xori_test_c
73; CHECK: xori 3, 3, 65535
74; CHECK-NEXT: blr
75 %xor = xor i64 %a, 65535
76 ret i64 %xor
77}
78
79define i64 @xori_test_d(i64 %a) {
80entry:
81; CHECK-LABEL: @xori_test_d
82; CHECK: xoris 3, 3, 1
83; CHECK-NEXT: blr
84 %xor = xor i64 %a, 65536
85 ret i64 %xor
86}
87
88define zeroext i32 @xori_test_e(i32 zeroext %a) {
89entry:
90; CHECK-LABEL: @xori_test_e
91; CHECK-DAG: xori 3, 3, 65535
92; CHECK-DAG: xoris 3, 3, 255
93; CHECK-NEXT: blr
94 %xor = xor i32 %a, 16777215
95 ret i32 %xor
96}