Make sure we correctly unroll conversions between v2f64 and v2i32 on ARM.
[oota-llvm.git] / test / CodeGen / MBlaze / mul64.ll
1 ; Ensure that multiplication is lowered to function calls when the 64-bit
2 ; multiplier unit is not available in the hardware and that function calls
3 ; are not used when the 64-bit multiplier unit is available in the hardware.
4 ;
5 ; RUN: llc < %s -march=mblaze | FileCheck -check-prefix=FUN %s
6 ; RUN: llc < %s -march=mblaze -mattr=+mul,+mul64 | \
7 ; RUN:      FileCheck -check-prefix=MUL %s
8
9 define i64 @test_i64(i64 %a, i64 %b) {
10     ; FUN:        test_i64:
11     ; MUL:        test_i64:
12
13     %tmp.1 = mul i64 %a, %b
14     ; FUN-NOT:    mul
15     ; FUN:        brlid
16     ; MUL-NOT:    brlid
17     ; MUL:        mulh
18     ; MUL:        mul
19
20     ret i64 %tmp.1
21     ; FUN:        rtsd
22     ; MUL:        rtsd
23 }