[LLVM][Alignment] Make functions using log of alignment explicit
[llvm-complete.git] / test / CodeGen / PowerPC / ori_imm32.ll
blob5444a5bc7e65e5cc9d44da5b3d17cc3642918e88
1 ; 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
4 define i64 @ori_test_a(i64 %a) {
5 entry:
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
14 define i64 @ori_test_b(i64 %a) {
15 entry:
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
23 define i64 @ori_test_c(i64 %a) {
24 entry:
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
32 define i64 @ori_test_d(i64 %a) {
33 entry:
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
41 define zeroext i32 @ori_test_e(i32 zeroext %a) {
42 entry:
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
51 define i64 @xori_test_a(i64 %a) {
52 entry:
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
61 define i64 @xori_test_b(i64 %a) {
62 entry:
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
70 define i64 @xori_test_c(i64 %a) {
71 entry:
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
79 define i64 @xori_test_d(i64 %a) {
80 entry:
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
88 define zeroext i32 @xori_test_e(i32 zeroext %a) {
89 entry:
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