blob: 2c373154d5e35a39b704c5131aa709f0f4bacbd4 [file] [log] [blame]
Sanjay Patel9aad9342017-03-06 15:50:07 +00001; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s
3
Sanjay Patel7f7947b2017-03-06 16:36:42 +00004; Div/rem by zero is undef.
Sanjay Patel9aad9342017-03-06 15:50:07 +00005
6define i32 @srem0(i32 %x) {
7; CHECK-LABEL: srem0:
8; CHECK: # BB#0:
Sanjay Patel9aad9342017-03-06 15:50:07 +00009; CHECK-NEXT: retq
10 %rem = srem i32 %x, 0
11 ret i32 %rem
12}
13
14define i32 @urem0(i32 %x) {
15; CHECK-LABEL: urem0:
16; CHECK: # BB#0:
Sanjay Patel9aad9342017-03-06 15:50:07 +000017; CHECK-NEXT: retq
18 %rem = urem i32 %x, 0
19 ret i32 %rem
20}
21
22define i32 @sdiv0(i32 %x) {
23; CHECK-LABEL: sdiv0:
24; CHECK: # BB#0:
Sanjay Patel9aad9342017-03-06 15:50:07 +000025; CHECK-NEXT: retq
26 %div = sdiv i32 %x, 0
27 ret i32 %div
28}
29
30define i32 @udiv0(i32 %x) {
31; CHECK-LABEL: udiv0:
32; CHECK: # BB#0:
Sanjay Patel9aad9342017-03-06 15:50:07 +000033; CHECK-NEXT: retq
34 %div = udiv i32 %x, 0
35 ret i32 %div
36}
37
Sanjay Patel7f7947b2017-03-06 16:36:42 +000038; Div/rem by zero vectors is undef.
Sanjay Patel9aad9342017-03-06 15:50:07 +000039
40define <4 x i32> @srem_vec0(<4 x i32> %x) {
41; CHECK-LABEL: srem_vec0:
42; CHECK: # BB#0:
Sanjay Patel9aad9342017-03-06 15:50:07 +000043; CHECK-NEXT: retq
44 %rem = srem <4 x i32> %x, zeroinitializer
45 ret <4 x i32> %rem
46}
47
48define <4 x i32> @urem_vec0(<4 x i32> %x) {
49; CHECK-LABEL: urem_vec0:
50; CHECK: # BB#0:
Sanjay Patel9aad9342017-03-06 15:50:07 +000051; CHECK-NEXT: retq
52 %rem = urem <4 x i32> %x, zeroinitializer
53 ret <4 x i32> %rem
54}
55
56define <4 x i32> @sdiv_vec0(<4 x i32> %x) {
57; CHECK-LABEL: sdiv_vec0:
58; CHECK: # BB#0:
Sanjay Patel9aad9342017-03-06 15:50:07 +000059; CHECK-NEXT: retq
60 %div = sdiv <4 x i32> %x, zeroinitializer
61 ret <4 x i32> %div
62}
63
64define <4 x i32> @udiv_vec0(<4 x i32> %x) {
65; CHECK-LABEL: udiv_vec0:
66; CHECK: # BB#0:
Sanjay Patel9aad9342017-03-06 15:50:07 +000067; CHECK-NEXT: retq
68 %div = udiv <4 x i32> %x, zeroinitializer
69 ret <4 x i32> %div
70}
71