annotate test/CodeGen/AVR/umul-with-overflow.ll @ 128:c347d3398279 default tip

fix
author mir3636
date Wed, 06 Dec 2017 14:37:17 +0900
parents 1172e4bd9c6f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
1 ; RUN: llc < %s -march=avr | FileCheck %s
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
2
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
3 define i1 @unsigned_multiplication_did_overflow(i8, i8) unnamed_addr {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
4 ; CHECK-LABEL: unsigned_multiplication_did_overflow:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
5 entry-block:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
6 %2 = tail call { i8, i1 } @llvm.umul.with.overflow.i8(i8 %0, i8 %1)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
7 %3 = extractvalue { i8, i1 } %2, 1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
8 ret i1 %3
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
9
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
10 ; Multiply, return if the high byte is zero
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
11 ;
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
12 ; CHECK: mul r{{[0-9]+}}, r{{[0-9]+}}
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
13 ; CHECK: mov [[HIGH:r[0-9]+]], r1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
14 ; CHECK: ldi [[RET:r[0-9]+]], 1
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
15 ; CHECK: cpi {{.*}}[[HIGH]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
16 ; CHECK: brne [[LABEL:LBB[_0-9]+]]
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
17 ; CHECK: ldi {{.*}}[[RET]], 0
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
18 ; CHECK: {{.*}}[[LABEL]]
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
19 ; CHECK: ret
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
20 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
21
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
22 declare { i8, i1 } @llvm.umul.with.overflow.i8(i8, i8)