Skip to content

Commit

Permalink
Making rem_crash.ll target-specific
Browse files Browse the repository at this point in the history
This test failed in some ARM bots after a divmod change because it was
running on a native llc, instead of targeted one. This makes sure the test
is target-specific (as intended), and also copies to ARM and AArch64
directories. If it is also supposed to work on other architectures, I'll
leave as an exercise to the respective maintainers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262620 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
rengolin committed Mar 3, 2016
1 parent ca03902 commit 53546d8
Show file tree
Hide file tree
Showing 3 changed files with 516 additions and 1 deletion.
257 changes: 257 additions & 0 deletions test/CodeGen/AArch64/rem_crash.ll
Original file line number Diff line number Diff line change
@@ -0,0 +1,257 @@
; RUN: llc < %s -march=aarch64

define i8 @test_minsize_uu8(i8 %x) minsize optsize {
entry:
%0 = udiv i8 %x, 10
%1 = urem i8 %x, 10
%res = add i8 %0, %1
ret i8 %res
}

define i8 @test_minsize_ss8(i8 %x) minsize optsize {
entry:
%0 = sdiv i8 %x, 10
%1 = srem i8 %x, 10
%res = add i8 %0, %1
ret i8 %res
}

define i8 @test_minsize_us8(i8 %x) minsize optsize {
entry:
%0 = udiv i8 %x, 10
%1 = srem i8 %x, 10
%res = add i8 %0, %1
ret i8 %res
}

define i8 @test_minsize_su8(i8 %x) minsize optsize {
entry:
%0 = sdiv i8 %x, 10
%1 = urem i8 %x, 10
%res = add i8 %0, %1
ret i8 %res
}

define i16 @test_minsize_uu16(i16 %x) minsize optsize {
entry:
%0 = udiv i16 %x, 10
%1 = urem i16 %x, 10
%res = add i16 %0, %1
ret i16 %res
}

define i16 @test_minsize_ss16(i16 %x) minsize optsize {
entry:
%0 = sdiv i16 %x, 10
%1 = srem i16 %x, 10
%res = add i16 %0, %1
ret i16 %res
}

define i16 @test_minsize_us16(i16 %x) minsize optsize {
entry:
%0 = udiv i16 %x, 10
%1 = srem i16 %x, 10
%res = add i16 %0, %1
ret i16 %res
}

define i16 @test_minsize_su16(i16 %x) minsize optsize {
entry:
%0 = sdiv i16 %x, 10
%1 = urem i16 %x, 10
%res = add i16 %0, %1
ret i16 %res
}

define i32 @test_minsize_uu32(i32 %x) minsize optsize {
entry:
%0 = udiv i32 %x, 10
%1 = urem i32 %x, 10
%res = add i32 %0, %1
ret i32 %res
}

define i32 @test_minsize_ss32(i32 %x) minsize optsize {
entry:
%0 = sdiv i32 %x, 10
%1 = srem i32 %x, 10
%res = add i32 %0, %1
ret i32 %res
}

define i32 @test_minsize_us32(i32 %x) minsize optsize {
entry:
%0 = udiv i32 %x, 10
%1 = srem i32 %x, 10
%res = add i32 %0, %1
ret i32 %res
}

define i32 @test_minsize_su32(i32 %x) minsize optsize {
entry:
%0 = sdiv i32 %x, 10
%1 = urem i32 %x, 10
%res = add i32 %0, %1
ret i32 %res
}

define i64 @test_minsize_uu64(i64 %x) minsize optsize {
entry:
%0 = udiv i64 %x, 10
%1 = urem i64 %x, 10
%res = add i64 %0, %1
ret i64 %res
}

define i64 @test_minsize_ss64(i64 %x) minsize optsize {
entry:
%0 = sdiv i64 %x, 10
%1 = srem i64 %x, 10
%res = add i64 %0, %1
ret i64 %res
}

define i64 @test_minsize_us64(i64 %x) minsize optsize {
entry:
%0 = udiv i64 %x, 10
%1 = srem i64 %x, 10
%res = add i64 %0, %1
ret i64 %res
}

define i64 @test_minsize_su64(i64 %x) minsize optsize {
entry:
%0 = sdiv i64 %x, 10
%1 = urem i64 %x, 10
%res = add i64 %0, %1
ret i64 %res
}

define i8 @test_uu8(i8 %x) optsize {
entry:
%0 = udiv i8 %x, 10
%1 = urem i8 %x, 10
%res = add i8 %0, %1
ret i8 %res
}

define i8 @test_ss8(i8 %x) optsize {
entry:
%0 = sdiv i8 %x, 10
%1 = srem i8 %x, 10
%res = add i8 %0, %1
ret i8 %res
}

define i8 @test_us8(i8 %x) optsize {
entry:
%0 = udiv i8 %x, 10
%1 = srem i8 %x, 10
%res = add i8 %0, %1
ret i8 %res
}

define i8 @test_su8(i8 %x) optsize {
entry:
%0 = sdiv i8 %x, 10
%1 = urem i8 %x, 10
%res = add i8 %0, %1
ret i8 %res
}

define i16 @test_uu16(i16 %x) optsize {
entry:
%0 = udiv i16 %x, 10
%1 = urem i16 %x, 10
%res = add i16 %0, %1
ret i16 %res
}

define i16 @test_ss16(i16 %x) optsize {
entry:
%0 = sdiv i16 %x, 10
%1 = srem i16 %x, 10
%res = add i16 %0, %1
ret i16 %res
}

define i16 @test_us16(i16 %x) optsize {
entry:
%0 = udiv i16 %x, 10
%1 = srem i16 %x, 10
%res = add i16 %0, %1
ret i16 %res
}

define i16 @test_su16(i16 %x) optsize {
entry:
%0 = sdiv i16 %x, 10
%1 = urem i16 %x, 10
%res = add i16 %0, %1
ret i16 %res
}

define i32 @test_uu32(i32 %x) optsize {
entry:
%0 = udiv i32 %x, 10
%1 = urem i32 %x, 10
%res = add i32 %0, %1
ret i32 %res
}

define i32 @test_ss32(i32 %x) optsize {
entry:
%0 = sdiv i32 %x, 10
%1 = srem i32 %x, 10
%res = add i32 %0, %1
ret i32 %res
}

define i32 @test_us32(i32 %x) optsize {
entry:
%0 = udiv i32 %x, 10
%1 = srem i32 %x, 10
%res = add i32 %0, %1
ret i32 %res
}

define i32 @test_su32(i32 %x) optsize {
entry:
%0 = sdiv i32 %x, 10
%1 = urem i32 %x, 10
%res = add i32 %0, %1
ret i32 %res
}

define i64 @test_uu64(i64 %x) optsize {
entry:
%0 = udiv i64 %x, 10
%1 = urem i64 %x, 10
%res = add i64 %0, %1
ret i64 %res
}

define i64 @test_ss64(i64 %x) optsize {
entry:
%0 = sdiv i64 %x, 10
%1 = srem i64 %x, 10
%res = add i64 %0, %1
ret i64 %res
}

define i64 @test_us64(i64 %x) optsize {
entry:
%0 = udiv i64 %x, 10
%1 = srem i64 %x, 10
%res = add i64 %0, %1
ret i64 %res
}

define i64 @test_su64(i64 %x) optsize {
entry:
%0 = sdiv i64 %x, 10
%1 = urem i64 %x, 10
%res = add i64 %0, %1
ret i64 %res
}
Loading

0 comments on commit 53546d8

Please sign in to comment.