RegAllocGreedy comment.
[oota-llvm.git] / test / CodeGen / MBlaze / mul.ll
1 ; Ensure that multiplication is lowered to function calls when the multiplier
2 ; unit is not available in the hardware and that function calls are not used
3 ; when the 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 | FileCheck -check-prefix=MUL %s
7
8 define i8 @test_i8(i8 %a, i8 %b) {
9     ; FUN-LABEL:        test_i8:
10     ; MUL-LABEL:        test_i8:
11
12     %tmp.1 = mul i8 %a, %b
13     ; FUN-NOT:    mul
14     ; FUN:        brlid
15     ; MUL-NOT:    brlid
16
17     ret i8 %tmp.1
18     ; FUN:        rtsd
19     ; MUL:        rtsd
20     ; MUL:        mul
21 }
22
23 define i16 @test_i16(i16 %a, i16 %b) {
24     ; FUN-LABEL:        test_i16:
25     ; MUL-LABEL:        test_i16:
26
27     %tmp.1 = mul i16 %a, %b
28     ; FUN-NOT:    mul
29     ; FUN:        brlid
30     ; MUL-NOT:    brlid
31
32     ret i16 %tmp.1
33     ; FUN:        rtsd
34     ; MUL:        rtsd
35     ; MUL:        mul
36 }
37
38 define i32 @test_i32(i32 %a, i32 %b) {
39     ; FUN-LABEL:        test_i32:
40     ; MUL-LABEL:        test_i32:
41
42     %tmp.1 = mul i32 %a, %b
43     ; FUN-NOT:    mul
44     ; FUN:        brlid
45     ; MUL-NOT:    brlid
46
47     ret i32 %tmp.1
48     ; FUN:        rtsd
49     ; MUL:        rtsd
50     ; MUL:        mul
51 }