Re-implement the main strength-reduction portion of LoopStrengthReduction.
[oota-llvm.git] / test / CodeGen / X86 / 2009-01-25-NoSSE.ll
1 ; RUN: llc < %s -march=x86-64 -mattr=-sse,-sse2 | not grep xmm
2 ; PR3402
3 target datalayout =
4 "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
5 target triple = "x86_64-unknown-linux-gnu"
6         %struct.ktermios = type { i32, i32, i32, i32, i8, [19 x i8], i32, i32 }
7
8 define void @foo() nounwind {
9 entry:
10         %termios = alloca %struct.ktermios, align 8
11         %termios1 = bitcast %struct.ktermios* %termios to i8*
12         call void @llvm.memset.i64(i8* %termios1, i8 0, i64 44, i32 8)
13         call void @bar(%struct.ktermios* %termios) nounwind
14         ret void
15 }
16
17 declare void @llvm.memset.i64(i8* nocapture, i8, i64, i32) nounwind
18
19 declare void @bar(%struct.ktermios*)
20