[Alignment][NFC] migrate DataLayout internal struct to llvm::Align
[llvm-core.git] / test / CodeGen / SPARC / soft-mul-div.ll
bloba5a7583b930f644b2307dee5d552e7818fee7944
1 ; RUN: llc -march=sparc -mcpu=v7 -O0 < %s | FileCheck %s
3 define i32 @test_mul32(i32 %a, i32 %b) #0 {
4     ; CHECK-LABEL: test_mul32
5     ; CHECK:       call .umul
6     %m = mul i32 %a, %b
7     ret i32 %m
10 define i16 @test_mul16(i16 %a, i16 %b) #0 {
11     ; CHECK-LABEL: test_mul16
12     ; CHECK:       call .umul
13     %m = mul i16 %a, %b
14     ret i16 %m
17 define i8 @test_mul8(i8 %a, i8 %b) #0 {
18     ; CHECK-LABEL: test_mul8
19     ; CHECK:       call .umul
20     %m = mul i8 %a, %b
21     ret i8 %m
24 define i32 @test_sdiv32(i32 %a, i32 %b) #0 {
25     ; CHECK-LABEL: test_sdiv32
26     ; CHECK:       call .div
27     %d = sdiv i32 %a, %b
28     ret i32 %d
31 define i16 @test_sdiv16(i16 %a, i16 %b) #0 {
32     ; CHECK-LABEL: test_sdiv16
33     ; CHECK:       call .div
34     %d = sdiv i16 %a, %b
35     ret i16 %d
38 define i8 @test_sdiv8(i8 %a, i8 %b) #0 {
39     ; CHECK-LABEL: test_sdiv8
40     ; CHECK:       call .div
41     %d = sdiv i8 %a, %b
42     ret i8 %d
45 define i32 @test_udiv32(i32 %a, i32 %b) #0 {
46     ; CHECK-LABEL: test_udiv32
47     ; CHECK:       call .udiv
48     %d = udiv i32 %a, %b
49     ret i32 %d
52 define i16 @test_udiv16(i16 %a, i16 %b) #0 {
53     ; CHECK-LABEL: test_udiv16
54     ; CHECK:       call .udiv
55     %d = udiv i16 %a, %b
56     ret i16 %d
59 define i8 @test_udiv8(i8 %a, i8 %b) #0 {
60     ; CHECK-LABEL: test_udiv8
61     ; CHECK:       call .udiv
62     %d = udiv i8 %a, %b
63     ret i8 %d
66 define i32 @test_srem32(i32 %a, i32 %b) #0 {
67     ; CHECK-LABEL: test_srem32
68     ; CHECK:       call .rem
69     %d = srem i32 %a, %b
70     ret i32 %d
73 define i16 @test_srem16(i16 %a, i16 %b) #0 {
74     ; CHECK-LABEL: test_srem16
75     ; CHECK:       call .rem
76     %d = srem i16 %a, %b
77     ret i16 %d
80 define i8 @test_srem8(i8 %a, i8 %b) #0 {
81     ; CHECK-LABEL: test_srem8
82     ; CHECK:       call .rem
83     %d = srem i8 %a, %b
84     ret i8 %d
87 define i32 @test_urem32(i32 %a, i32 %b) #0 {
88     ; CHECK-LABEL: test_urem32
89     ; CHECK:       call .urem
90     %d = urem i32 %a, %b
91     ret i32 %d
94 define i16 @test_urem16(i16 %a, i16 %b) #0 {
95     ; CHECK-LABEL: test_urem16
96     ; CHECK:       call .urem
97     %d = urem i16 %a, %b
98     ret i16 %d
101 define i8 @test_urem8(i8 %a, i8 %b) #0 {
102     ; CHECK-LABEL: test_urem8
103     ; CHECK:       call .urem
104     %d = urem i8 %a, %b
105     ret i8 %d