1; NOTE: Assertions have been autogenerated by update_test_checks.py 2; RUN: llc < %s -mtriple=i386-unknown-unknown -mattr=sse4.2 | FileCheck %s --check-prefix=FAST 3; RUN: llc < %s -mtriple=i386-unknown-unknown -mattr=ssse3 | FileCheck %s --check-prefix=SLOW_32 4; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=ssse3 | FileCheck %s --check-prefix=SLOW_64 5 6define void @bork() nounwind { 7; FAST-LABEL: bork: 8; FAST: # BB#0: 9; FAST-NEXT: xorps %xmm0, %xmm0 10; FAST-NEXT: movups %xmm0, 64 11; FAST-NEXT: movups %xmm0, 48 12; FAST-NEXT: movups %xmm0, 32 13; FAST-NEXT: movups %xmm0, 16 14; FAST-NEXT: movups %xmm0, 0 15; FAST-NEXT: retl 16; 17; SLOW_32-LABEL: bork: 18; SLOW_32: # BB#0: 19; SLOW_32-NEXT: movl $0, 4 20; SLOW_32-NEXT: movl $0, 0 21; SLOW_32-NEXT: movl $0, 12 22; SLOW_32-NEXT: movl $0, 8 23; SLOW_32-NEXT: movl $0, 20 24; SLOW_32-NEXT: movl $0, 16 25; SLOW_32-NEXT: movl $0, 28 26; SLOW_32-NEXT: movl $0, 24 27; SLOW_32-NEXT: movl $0, 36 28; SLOW_32-NEXT: movl $0, 32 29; SLOW_32-NEXT: movl $0, 44 30; SLOW_32-NEXT: movl $0, 40 31; SLOW_32-NEXT: movl $0, 52 32; SLOW_32-NEXT: movl $0, 48 33; SLOW_32-NEXT: movl $0, 60 34; SLOW_32-NEXT: movl $0, 56 35; SLOW_32-NEXT: movl $0, 68 36; SLOW_32-NEXT: movl $0, 64 37; SLOW_32-NEXT: movl $0, 76 38; SLOW_32-NEXT: movl $0, 72 39; SLOW_32-NEXT: retl 40; 41; SLOW_64-LABEL: bork: 42; SLOW_64: # BB#0: 43; SLOW_64-NEXT: movq $0, 72 44; SLOW_64-NEXT: movq $0, 64 45; SLOW_64-NEXT: movq $0, 56 46; SLOW_64-NEXT: movq $0, 48 47; SLOW_64-NEXT: movq $0, 40 48; SLOW_64-NEXT: movq $0, 32 49; SLOW_64-NEXT: movq $0, 24 50; SLOW_64-NEXT: movq $0, 16 51; SLOW_64-NEXT: movq $0, 8 52; SLOW_64-NEXT: movq $0, 0 53; SLOW_64-NEXT: retq 54; 55 call void @llvm.memset.p0i8.i64(i8* null, i8 0, i64 80, i32 4, i1 false) 56 ret void 57} 58 59declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind 60 61