Shrink Thumb2 movcc instructions.
[llvm/avr.git] / test / CodeGen / X86 / 2007-04-08-InlineAsmCrash.ll
blob840fc7d513a02ec8cdee9de9a1965efec26534d1
1 ; RUN: llvm-as < %s | llc
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) {
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*)