
Similar to 806761a7629df268c8aed49657aeccffa6bca449 -mtriple= specifies the full target triple while -march= merely sets the architecture part of the default target triple, leaving a target triple which may not make sense. Therefore, -march= is error-prone and not recommended for tests without a target triple. The issue has been benign as we recognize avr-apple-darwin as ELF instead of rejecting it outrightly.
36 lines
837 B
LLVM
36 lines
837 B
LLVM
; RUN: llc < %s -mtriple=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
|
|
}
|