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