forked from OSchip/llvm-project
36 lines
835 B
LLVM
36 lines
835 B
LLVM
|
; RUN: llc < %s -march=avr | FileCheck %s
|
||
|
|
||
|
; Unit test for: PR 31344
|
||
|
|
||
|
define i16 @or16_reg_imm_0xff00(i16 %a) {
|
||
|
; CHECK-LABEL: or16_reg_imm_0xff00
|
||
|
; CHECK-NOT: ori {{r[0-9]+}}, 0
|
||
|
; CHECK: ori {{r[0-9]+}}, 255
|
||
|
%result = or i16 %a, 65280
|
||
|
ret i16 %result
|
||
|
}
|
||
|
|
||
|
define i16 @or16_reg_imm_0xffb3(i16 %a) {
|
||
|
; CHECK-LABEL: or16_reg_imm_0xffb3
|
||
|
; CHECK: ori {{r[0-9]+}}, 179
|
||
|
; CHECK: ori {{r[0-9]+}}, 255
|
||
|
%result = or i16 %a, 65459
|
||
|
ret i16 %result
|
||
|
}
|
||
|
|
||
|
define i16 @or16_reg_imm_0x00ff(i16 %a) {
|
||
|
; CHECK-LABEL: or16_reg_imm_0x00ff
|
||
|
; CHECK: ori {{r[0-9]+}}, 255
|
||
|
; CHECK-NOT: ori {{r[0-9]+}}, 0
|
||
|
%result = or i16 %a, 255
|
||
|
ret i16 %result
|
||
|
}
|
||
|
|
||
|
define i16 @or16_reg_imm_0xb3ff(i16 %a) {
|
||
|
; CHECK-LABEL: or16_reg_imm_0xb3ff
|
||
|
; CHECK: ori {{r[0-9]+}}, 255
|
||
|
; CHECK: ori {{r[0-9]+}}, 179
|
||
|
%result = or i16 %a, 46079
|
||
|
ret i16 %result
|
||
|
}
|