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