xref: /llvm-project/llvm/test/CodeGen/AVR/features/xmega_io.ll (revision 9ef1d37ffb5f56a9b949a6307bbb16c2ea0130e3)
1; RUN: llc -O0 < %s -mtriple=avr -mcpu avrxmega1 | FileCheck %s -check-prefix=XMEGA
2; RUN: llc -O0 < %s -mtriple=avr -mcpu avrxmega2 | FileCheck %s -check-prefix=XMEGA
3; RUN: llc -O0 < %s -mtriple=avr -mcpu avrxmega3 | FileCheck %s -check-prefix=XMEGA
4; RUN: llc -O0 < %s -mtriple=avr -mcpu avrxmega4 | FileCheck %s -check-prefix=XMEGA
5; RUN: llc -O0 < %s -mtriple=avr -mcpu avrxmega5 | FileCheck %s -check-prefix=XMEGA
6; RUN: llc -O0 < %s -mtriple=avr -mcpu avrxmega6 | FileCheck %s -check-prefix=XMEGA
7; RUN: llc -O0 < %s -mtriple=avr -mcpu avrxmega7 | FileCheck %s -check-prefix=XMEGA
8; RUN: llc -O0 < %s -mtriple=avr -mcpu avr2 | FileCheck %s -check-prefix=AVR
9; RUN: llc -O0 < %s -mtriple=avr -mcpu avr25 | FileCheck %s -check-prefix=AVR
10; RUN: llc -O0 < %s -mtriple=avr -mcpu avr3 | FileCheck %s -check-prefix=AVR
11; RUN: llc -O0 < %s -mtriple=avr -mcpu avr31 | FileCheck %s -check-prefix=AVR
12; RUN: llc -O0 < %s -mtriple=avr -mcpu avr35 | FileCheck %s -check-prefix=AVR
13; RUN: llc -O0 < %s -mtriple=avr -mcpu avr4 | FileCheck %s -check-prefix=AVR
14; RUN: llc -O0 < %s -mtriple=avr -mcpu avr5 | FileCheck %s -check-prefix=AVR
15; RUN: llc -O0 < %s -mtriple=avr -mcpu avr51 | FileCheck %s -check-prefix=AVR
16; RUN: llc -O0 < %s -mtriple=avr -mcpu avr6 | FileCheck %s -check-prefix=AVR
17
18define i8 @read8_low_io() {
19; CHECK-LABEL: read8_low_io
20; XMEGA: in r24, 8
21; AVR: lds r24, 8
22  %1 = load i8, ptr inttoptr (i16 8 to ptr)
23  ret i8 %1
24}
25
26define i8 @read8_hi_io() {
27; CHECK-LABEL: read8_hi_io
28; XMEGA: in r24, 40
29; AVR: in r24, 8
30  %1 = load i8, ptr inttoptr (i16 40 to ptr)
31  ret i8 %1
32}
33
34define i8 @read8_maybe_io() {
35; CHECK-LABEL: read8_maybe_io
36; XMEGA: lds r24, 80
37; AVR: in r24, 48
38  %1 = load i8, ptr inttoptr (i16 80 to ptr)
39  ret i8 %1
40}
41
42define i8 @read8_not_io(){
43; CHECK-LABEL: read8_not_io
44; XMEGA: lds r24, 160
45; AVR: lds r24, 160
46  %1 = load i8, ptr inttoptr (i16 160 to ptr)
47  ret i8 %1
48}
49