ret i32 %retval.0
}
-; We were miscompiling this and using %ax instead of %cx in the movw.
+; We were miscompiling this and using %ax instead of %cx in the movw
+; in the following sequence:
+; movswl %cx, %ecx
+; movw %cx, (%rsi)
+; movslq %ecx, %rcx
+;
+; We can't produce the above sequence without special SD-level
+; heuristics. Now we produce this:
; CHECK: movw %ax, (%rsi)
-; CHECK: movswl %ax, %eax
-; CHECK: movslq %eax, %rax
+; CHECK: cwtl
+; CHECK: cltq