Fangrui Song 9ef1d37ffb [AVR,test] Change llc -march= to -mtriple=
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.
2024-12-15 10:26:33 -08:00

52 lines
1.2 KiB
LLVM

; RUN: llc < %s -mtriple=avr | FileCheck %s
; Unit test for: PR 31345
define i16 @and16_reg_imm_0xff00(i16 %a) {
; CHECK-LABEL: and16_reg_imm_0xff00
; CHECK: andi {{r[0-9]+}}, 0
; CHECK-NOT: andi {{r[0-9]+}}, 255
%result = and i16 %a, 65280
ret i16 %result
}
define i16 @and16_reg_imm_0xffb3(i16 %a) {
; CHECK-LABEL: and16_reg_imm_0xffb3
; CHECK: andi {{r[0-9]+}}, 179
; CHECK-NOT: andi {{r[0-9]+}}, 255
%result = and i16 %a, 65459
ret i16 %result
}
define i16 @and16_reg_imm_0x00ff(i16 %a) {
; CHECK-LABEL: and16_reg_imm_0x00ff
; CHECK-NOT: andi {{r[0-9]+}}, 255
; CHECK: andi {{r[0-9]+}}, 0
%result = and i16 %a, 255
ret i16 %result
}
define i16 @and16_reg_imm_0xb3ff(i16 %a) {
; CHECK-LABEL: and16_reg_imm_0xb3ff
; CHECK-NOT: andi {{r[0-9]+}}, 255
; CHECK: andi {{r[0-9]+}}, 179
%result = and i16 %a, 46079
ret i16 %result
}
define i16 @and16_reg_imm_0xffff(i16 %a) {
; CHECK-LABEL: and16_reg_imm_0xffff
; CHECK-NOT: andi {{r[0-9]+}}, 255
; CHECK-NOT: andi {{r[0-9]+}}, 255
%result = and i16 %a, 65535
ret i16 %result
}
define i16 @and16_reg_imm_0xabcd(i16 %a) {
; CHECK-LABEL: and16_reg_imm_0xabcd
; CHECK: andi {{r[0-9]+}}, 205
; CHECK: andi {{r[0-9]+}}, 171
%result = and i16 %a, 43981
ret i16 %result
}