Re-implement the main strength-reduction portion of LoopStrengthReduction.
[oota-llvm.git] / test / CodeGen / X86 / 2008-08-23-64Bit-maskmovq.ll
1 ; RUN: llc < %s -march=x86-64
2
3         %struct.DrawHelper = type { void (i32, %struct.QT_FT_Span*, i8*)*, void (i32, %struct.QT_FT_Span*, i8*)*, void (%struct.QRasterBuffer*, i32, i32, i32, i8*, i32, i32, i32)*, void (%struct.QRasterBuffer*, i32, i32, i32, i8*, i32, i32, i32)*, void (%struct.QRasterBuffer*, i32, i32, i32, i32, i32)* }
4         %struct.QBasicAtomic = type { i32 }
5         %struct.QClipData = type { i32, %"struct.QClipData::ClipLine"*, i32, i32, %struct.QT_FT_Span*, i32, i32, i32, i32 }
6         %"struct.QClipData::ClipLine" = type { i32, %struct.QT_FT_Span* }
7         %struct.QRasterBuffer = type { %struct.QRect, %struct.QRect, %struct.QRegion, %struct.QRegion, %struct.QClipData*, %struct.QClipData*, i8, i8, i32, i32, i32, i32, %struct.DrawHelper*, i32, i32, i32, i8* }
8         %struct.QRect = type { i32, i32, i32, i32 }
9         %struct.QRegion = type { %"struct.QRegion::QRegionData"* }
10         %"struct.QRegion::QRegionData" = type { %struct.QBasicAtomic, %struct._XRegion*, i8*, %struct.QRegionPrivate* }
11         %struct.QRegionPrivate = type opaque
12         %struct.QT_FT_Span = type { i16, i16, i16, i8 }
13         %struct._XRegion = type opaque
14
15 define hidden void @_Z24qt_bitmapblit16_sse3dnowP13QRasterBufferiijPKhiii(%struct.QRasterBuffer* %rasterBuffer, i32 %x, i32 %y, i32 %color, i8* %src, i32 %width, i32 %height, i32 %stride) nounwind {
16 entry:
17         br i1 false, label %bb.nph144.split, label %bb133
18
19 bb.nph144.split:                ; preds = %entry
20         tail call void @llvm.x86.mmx.maskmovq( <8 x i8> zeroinitializer, <8 x i8> zeroinitializer, i8* null ) nounwind
21         unreachable
22
23 bb133:          ; preds = %entry
24         ret void
25 }
26
27 declare void @llvm.x86.mmx.maskmovq(<8 x i8>, <8 x i8>, i8*) nounwind