This should always be signed chars, so use int8_t. This fixes a miscompile when
[llvm/stm8.git] / test / CodeGen / X86 / 2007-04-08-InlineAsmCrash.ll
blob9f09e88664c69dda13d68f0e908094ea8650810d
1 ; RUN: llc < %s
2 ; PR1314
4 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64"
5 target triple = "x86_64-unknown-linux-gnu"
6         %struct.CycleCount = type { i64, i64 }
7         %struct.bc_struct = type { i32, i32, i32, i32, %struct.bc_struct*, i8*, i8* }
8 @_programStartTime = external global %struct.CycleCount         ; <%struct.CycleCount*> [#uses=1]
10 define fastcc i32 @bc_divide(%struct.bc_struct* %n1, %struct.bc_struct* %n2, %struct.bc_struct** %quot, i32 %scale) nounwind {
11 entry:
12         %tmp7.i46 = tail call i64 asm sideeffect ".byte 0x0f,0x31", "={dx},=*{ax},~{dirflag},~{fpsr},~{flags}"( i64* getelementptr (%struct.CycleCount* @_programStartTime, i32 0, i32 1) )             ; <i64> [#uses=0]
13         %tmp221 = sdiv i32 10, 0                ; <i32> [#uses=1]
14         tail call fastcc void @_one_mult( i8* null, i32 0, i32 %tmp221, i8* null )
15         ret i32 0
18 declare fastcc void @_one_mult(i8*, i32, i32, i8*)