brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 582ebb9 Raw
46 lines · plain
1; RUN: llc -mcpu=i686 -mattr=+mmx < %s | FileCheck %s2; ModuleID = 'tq.c'3target datalayout = "e-p:32:32:32-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-f80:128:128-n8:16:32"4target triple = "i386-apple-macosx10.6.6"5 6%0 = type { <1 x i64>, <1 x i64>, <1 x i64>, <1 x i64>, <1 x i64>, <1 x i64>, <1 x i64> }7 8define i32 @pixman_fill_mmx(ptr nocapture %bits, i32 %stride, i32 %bpp, i32 %x, i32 %y, i32 %width, i32 %height, i32 %xor) nounwind ssp {9entry:10  %conv = zext i32 %xor to i6411  %shl = shl nuw i64 %conv, 3212  %or = or i64 %shl, %conv13  %0 = bitcast i64 %or to <1 x i64>14; CHECK:      movq [[MMXR:%mm[0-7],]] {{%mm[0-7]}}15; CHECK-NEXT: movq [[MMXR]] {{%mm[0-7]}}16; CHECK-NEXT: movq [[MMXR]] {{%mm[0-7]}}17; CHECK-NEXT: movq [[MMXR]] {{%mm[0-7]}}18; CHECK-NEXT: movq [[MMXR]] {{%mm[0-7]}}19; CHECK-NEXT: movq [[MMXR]] {{%mm[0-7]}}20; CHECK-NEXT: movq [[MMXR]] {{%mm[0-7]}}21  %1 = tail call %0 asm "movq\09\09$7,\09$0\0Amovq\09\09$7,\09$1\0Amovq\09\09$7,\09$2\0Amovq\09\09$7,\09$3\0Amovq\09\09$7,\09$4\0Amovq\09\09$7,\09$5\0Amovq\09\09$7,\09$6\0A", "=&y,=&y,=&y,=&y,=&y,=&y,=y,y,~{dirflag},~{fpsr},~{flags}"(<1 x i64> %0) nounwind, !srcloc !022  %asmresult = extractvalue %0 %1, 023  %asmresult6 = extractvalue %0 %1, 124  %asmresult7 = extractvalue %0 %1, 225  %asmresult8 = extractvalue %0 %1, 326  %asmresult9 = extractvalue %0 %1, 427  %asmresult10 = extractvalue %0 %1, 528  %asmresult11 = extractvalue %0 %1, 629; CHECK:      movq {{%mm[0-7]}},30; CHECK-NEXT: movq {{%mm[0-7]}},31; CHECK-NEXT: movq {{%mm[0-7]}},32; CHECK-NEXT: movq {{%mm[0-7]}},33; CHECK-NEXT: movq {{%mm[0-7]}},34; CHECK-NEXT: movq {{%mm[0-7]}},35; CHECK-NEXT: movq {{%mm[0-7]}},36; CHECK-NEXT: movq {{%mm[0-7]}},37  tail call void asm sideeffect "movq\09$1,\09  ($0)\0Amovq\09$2,\09 8($0)\0Amovq\09$3,\0916($0)\0Amovq\09$4,\0924($0)\0Amovq\09$5,\0932($0)\0Amovq\09$6,\0940($0)\0Amovq\09$7,\0948($0)\0Amovq\09$8,\0956($0)\0A", "r,y,y,y,y,y,y,y,y,~{memory},~{dirflag},~{fpsr},~{flags}"(ptr undef, <1 x i64> %0, <1 x i64> %asmresult, <1 x i64> %asmresult6, <1 x i64> %asmresult7, <1 x i64> %asmresult8, <1 x i64> %asmresult9, <1 x i64> %asmresult10, <1 x i64> %asmresult11) nounwind, !srcloc !138  tail call void @llvm.x86.mmx.emms() nounwind39  ret i32 140}41 42declare void @llvm.x86.mmx.emms() nounwind43 44!0 = !{i32 888, i32 917, i32 945, i32 973, i32 1001, i32 1029, i32 1057}45!1 = !{i32 1390, i32 1430, i32 1469, i32 1508, i32 1547, i32 1586, i32 1625, i32 1664}46