1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/test/CodeGen/X86/rem_crash.ll
Matthias Braun f7935a3f63 X86: Do not use llc -march in tests.
`llc -march` is problematic because it only switches the target
architecture, but leaves the operating system unchanged. This
occasionally leads to indeterministic tests because the OS from
LLVM_DEFAULT_TARGET_TRIPLE is used.

However we can simply always use `llc -mtriple` instead. This changes
all the tests to do this to avoid people using -march when they copy and
paste parts of tests.

See also the discussion in https://reviews.llvm.org/D35287

llvm-svn: 309774
2017-08-02 00:28:10 +00:00

259 lines
4.5 KiB
LLVM

; RUN: llc < %s -mtriple=i686--
; RUN: llc < %s -mtriple=x86_64--
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
}