@@ -487,10 +487,10 @@ define <16 x i8> @test_v16i8(<16 x i8> %a) nounwind {
487487; X86: # %bb.0:
488488; X86-NEXT: pushl %ebx
489489; X86-NEXT: subl $12, %esp
490+ ; X86-NEXT: movb {{[0-9]+}}(%esp), %ch
490491; X86-NEXT: movb {{[0-9]+}}(%esp), %bh
491492; X86-NEXT: movb {{[0-9]+}}(%esp), %bl
492493; X86-NEXT: movb {{[0-9]+}}(%esp), %dh
493- ; X86-NEXT: movb {{[0-9]+}}(%esp), %ch
494494; X86-NEXT: movb {{[0-9]+}}(%esp), %ah
495495; X86-NEXT: movb {{[0-9]+}}(%esp), %dl
496496; X86-NEXT: movb {{[0-9]+}}(%esp), %cl
@@ -509,26 +509,23 @@ define <16 x i8> @test_v16i8(<16 x i8> %a) nounwind {
509509; X86-NEXT: xorb %al, %ah
510510; X86-NEXT: subb %al, %ah
511511; X86-NEXT: movb %ah, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
512- ; X86-NEXT: movb %ch, %al
513- ; X86-NEXT: sarb $7, %al
514- ; X86-NEXT: xorb %al, %ch
515- ; X86-NEXT: subb %al, %ch
516- ; X86-NEXT: movb %ch, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
517512; X86-NEXT: movb %dh, %al
518513; X86-NEXT: sarb $7, %al
519514; X86-NEXT: xorb %al, %dh
520515; X86-NEXT: subb %al, %dh
521- ; X86-NEXT: movb %dh, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
522516; X86-NEXT: movl %ebx, %eax
523517; X86-NEXT: sarb $7, %al
524518; X86-NEXT: xorb %al, %bl
525519; X86-NEXT: subb %al, %bl
526- ; X86-NEXT: movb %bl, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
527520; X86-NEXT: movb %bh, %al
528521; X86-NEXT: sarb $7, %al
529522; X86-NEXT: xorb %al, %bh
530523; X86-NEXT: subb %al, %bh
531- ; X86-NEXT: movb %bh, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
524+ ; X86-NEXT: movb %ch, %al
525+ ; X86-NEXT: sarb $7, %al
526+ ; X86-NEXT: xorb %al, %ch
527+ ; X86-NEXT: subb %al, %ch
528+ ; X86-NEXT: movb %ch, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
532529; X86-NEXT: movzbl {{[0-9]+}}(%esp), %ecx
533530; X86-NEXT: movl %ecx, %eax
534531; X86-NEXT: sarb $7, %al
@@ -547,21 +544,24 @@ define <16 x i8> @test_v16i8(<16 x i8> %a) nounwind {
547544; X86-NEXT: xorb %al, %cl
548545; X86-NEXT: subb %al, %cl
549546; X86-NEXT: movb %cl, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
550- ; X86-NEXT: movb {{[0-9]+}}(%esp), %bh
551- ; X86-NEXT: movb %bh , %al
547+ ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %ecx
548+ ; X86-NEXT: movl %ecx , %eax
552549; X86-NEXT: sarb $7, %al
553- ; X86-NEXT: xorb %al, %bh
554- ; X86-NEXT: subb %al, %bh
555- ; X86-NEXT: movb {{[0-9]+}}(%esp), %bl
556- ; X86-NEXT: movl %ebx, %eax
550+ ; X86-NEXT: xorb %al, %cl
551+ ; X86-NEXT: subb %al, %cl
552+ ; X86-NEXT: movb %cl, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
553+ ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %ecx
554+ ; X86-NEXT: movl %ecx, %eax
557555; X86-NEXT: sarb $7, %al
558- ; X86-NEXT: xorb %al, %bl
559- ; X86-NEXT: subb %al, %bl
560- ; X86-NEXT: movb {{[0-9]+}}(%esp), %dh
561- ; X86-NEXT: movb %dh, %al
556+ ; X86-NEXT: xorb %al, %cl
557+ ; X86-NEXT: subb %al, %cl
558+ ; X86-NEXT: movb %cl, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
559+ ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %ecx
560+ ; X86-NEXT: movl %ecx, %eax
562561; X86-NEXT: sarb $7, %al
563- ; X86-NEXT: xorb %al, %dh
564- ; X86-NEXT: subb %al, %dh
562+ ; X86-NEXT: xorb %al, %cl
563+ ; X86-NEXT: subb %al, %cl
564+ ; X86-NEXT: movb %cl, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill
565565; X86-NEXT: movb {{[0-9]+}}(%esp), %ch
566566; X86-NEXT: movb %ch, %al
567567; X86-NEXT: sarb $7, %al
@@ -581,9 +581,12 @@ define <16 x i8> @test_v16i8(<16 x i8> %a) nounwind {
581581; X86-NEXT: movb %cl, 15(%eax)
582582; X86-NEXT: movb %dl, 14(%eax)
583583; X86-NEXT: movb %ch, 13(%eax)
584- ; X86-NEXT: movb %dh, 12(%eax)
585- ; X86-NEXT: movb %bl, 11(%eax)
586- ; X86-NEXT: movb %bh, 10(%eax)
584+ ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
585+ ; X86-NEXT: movb %cl, 12(%eax)
586+ ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
587+ ; X86-NEXT: movb %cl, 11(%eax)
588+ ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
589+ ; X86-NEXT: movb %cl, 10(%eax)
587590; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
588591; X86-NEXT: movb %cl, 9(%eax)
589592; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
@@ -592,12 +595,9 @@ define <16 x i8> @test_v16i8(<16 x i8> %a) nounwind {
592595; X86-NEXT: movb %cl, 7(%eax)
593596; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
594597; X86-NEXT: movb %cl, 6(%eax)
595- ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
596- ; X86-NEXT: movb %cl, 5(%eax)
597- ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
598- ; X86-NEXT: movb %cl, 4(%eax)
599- ; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
600- ; X86-NEXT: movb %cl, 3(%eax)
598+ ; X86-NEXT: movb %bh, 5(%eax)
599+ ; X86-NEXT: movb %bl, 4(%eax)
600+ ; X86-NEXT: movb %dh, 3(%eax)
601601; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
602602; X86-NEXT: movb %cl, 2(%eax)
603603; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 1-byte Folded Reload
0 commit comments