Dylan McKay | a789f40 | 2016-11-16 21:58:04 +0000 | [diff] [blame] | 1 | ; RUN: llc -mattr=sram,eijmpcall < %s -march=avr | FileCheck %s |
| 2 | |
| 3 | @brind.k = private unnamed_addr constant [2 x i8*] [i8* blockaddress(@brind, %return), i8* blockaddress(@brind, %b)], align 1 |
| 4 | |
| 5 | define i8 @brind(i8 %p) { |
| 6 | ; CHECK-LABEL: brind: |
Dylan McKay | a789f40 | 2016-11-16 21:58:04 +0000 | [diff] [blame] | 7 | ; CHECK: ijmp |
| 8 | entry: |
| 9 | %idxprom = sext i8 %p to i16 |
| 10 | %arrayidx = getelementptr inbounds [2 x i8*], [2 x i8*]* @brind.k, i16 0, i16 %idxprom |
| 11 | %s = load i8*, i8** %arrayidx |
| 12 | indirectbr i8* %s, [label %return, label %b] |
| 13 | b: |
| 14 | br label %return |
| 15 | return: |
| 16 | %retval.0 = phi i8 [ 4, %b ], [ 2, %entry ] |
| 17 | ret i8 %retval.0 |
| 18 | } |