• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64le-unknown-linux-gnu | FileCheck %s
3; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-unknown-linux-gnu | FileCheck %s
4
5define i64 @ori_test_a(i64 %a) {
6; CHECK-LABEL: ori_test_a:
7; CHECK:       # %bb.0: # %entry
8; CHECK-NEXT:    ori 3, 3, 65535
9; CHECK-NEXT:    oris 3, 3, 65535
10; CHECK-NEXT:    blr
11entry:
12  %or = or i64 %a, 4294967295
13  ret i64 %or
14}
15
16define i64 @ori_test_b(i64 %a) {
17; CHECK-LABEL: ori_test_b:
18; CHECK:       # %bb.0: # %entry
19; CHECK-NEXT:    li 4, -1
20; CHECK-NEXT:    rldimi 3, 4, 32, 31
21; CHECK-NEXT:    blr
22entry:
23  %or = or i64 %a, 4294967296
24  ret i64 %or
25}
26
27define i64 @ori_test_c(i64 %a) {
28; CHECK-LABEL: ori_test_c:
29; CHECK:       # %bb.0: # %entry
30; CHECK-NEXT:    ori 3, 3, 65535
31; CHECK-NEXT:    blr
32entry:
33  %or = or i64 %a, 65535
34  ret i64 %or
35}
36
37define i64 @ori_test_d(i64 %a) {
38; CHECK-LABEL: ori_test_d:
39; CHECK:       # %bb.0: # %entry
40; CHECK-NEXT:    oris 3, 3, 1
41; CHECK-NEXT:    blr
42entry:
43  %or = or i64 %a, 65536
44  ret i64 %or
45}
46
47define zeroext i32 @ori_test_e(i32 zeroext %a) {
48; CHECK-LABEL: ori_test_e:
49; CHECK:       # %bb.0: # %entry
50; CHECK-NEXT:    ori 3, 3, 65535
51; CHECK-NEXT:    oris 3, 3, 255
52; CHECK-NEXT:    blr
53entry:
54  %or = or i32 %a, 16777215
55  ret i32 %or
56}
57
58define i64 @xori_test_a(i64 %a) {
59; CHECK-LABEL: xori_test_a:
60; CHECK:       # %bb.0: # %entry
61; CHECK-NEXT:    xori 3, 3, 65535
62; CHECK-NEXT:    xoris 3, 3, 65535
63; CHECK-NEXT:    blr
64entry:
65  %xor = xor i64 %a, 4294967295
66  ret i64 %xor
67}
68
69define i64 @xori_test_b(i64 %a) {
70; CHECK-LABEL: xori_test_b:
71; CHECK:       # %bb.0: # %entry
72; CHECK-NEXT:    li 4, 1
73; CHECK-NEXT:    sldi 4, 4, 32
74; CHECK-NEXT:    xor 3, 3, 4
75; CHECK-NEXT:    blr
76entry:
77  %xor = xor i64 %a, 4294967296
78  ret i64 %xor
79}
80
81define i64 @xori_test_c(i64 %a) {
82; CHECK-LABEL: xori_test_c:
83; CHECK:       # %bb.0: # %entry
84; CHECK-NEXT:    xori 3, 3, 65535
85; CHECK-NEXT:    blr
86entry:
87  %xor = xor i64 %a, 65535
88  ret i64 %xor
89}
90
91define i64 @xori_test_d(i64 %a) {
92; CHECK-LABEL: xori_test_d:
93; CHECK:       # %bb.0: # %entry
94; CHECK-NEXT:    xoris 3, 3, 1
95; CHECK-NEXT:    blr
96entry:
97  %xor = xor i64 %a, 65536
98  ret i64 %xor
99}
100
101define zeroext i32 @xori_test_e(i32 zeroext %a) {
102; CHECK-LABEL: xori_test_e:
103; CHECK:       # %bb.0: # %entry
104; CHECK-NEXT:    xori 3, 3, 65535
105; CHECK-NEXT:    xoris 3, 3, 255
106; CHECK-NEXT:    blr
107entry:
108  %xor = xor i32 %a, 16777215
109  ret i32 %xor
110}
111