annotate test/CodeGen/ARM/v6m-smul-with-overflow.ll @ 128:c347d3398279 default tip

fix
author mir3636
date Wed, 06 Dec 2017 14:37:17 +0900
parents 803732b1fca8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
121
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
1 ; RUN: llc < %s -mtriple=thumbv6m-none-eabi | FileCheck %s
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
2
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
3 define i1 @signed_multiplication_did_overflow(i32, i32) {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
4 ; CHECK-LABEL: signed_multiplication_did_overflow:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
5 entry-block:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
6 %2 = tail call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %0, i32 %1)
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
7 %3 = extractvalue { i32, i1 } %2, 1
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
8 ret i1 %3
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
9
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
10 ; CHECK: mov r2, r1
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
11 ; CHECK: asrs r1, r0, #31
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
12 ; CHECK: asrs r3, r2, #31
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
13 ; CHECK: bl __aeabi_lmul
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
14 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
15
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
16 declare { i32, i1 } @llvm.smul.with.overflow.i32(i32, i32)