diff options
| author | Hans Wennborg <hans@hanshq.net> | 2016-02-18 18:17:05 +0000 |
|---|---|---|
| committer | Hans Wennborg <hans@hanshq.net> | 2016-02-18 18:17:05 +0000 |
| commit | 23cdc643b90da422cb5e131e83abddad4c488151 (patch) | |
| tree | 2c87bc16f7b91697aa2254e3a838041270295b1a /llvm/test/CodeGen/X86/divrem8_ext.ll | |
| parent | 3a16e2a26a66f693e903c9acc47a7a64c8b78094 (diff) | |
| download | bcm5719-llvm-23cdc643b90da422cb5e131e83abddad4c488151.tar.gz bcm5719-llvm-23cdc643b90da422cb5e131e83abddad4c488151.zip | |
Revert to extend i8/i16 return values on Darwin (PR26665)
In r260133, LLVM was changed to no longer extend i8/i16 return values,
as it's not required by the ABI. However, code was found in the wild
that relies on the old behaviour on Darwin, so this commit reverts
back to that old behaviour for Darwin.
On other platforms, it's less likely that code would be depending on
the old behaviour, as GCC and MSVC haven't been extending such return
values.
llvm-svn: 261235
Diffstat (limited to 'llvm/test/CodeGen/X86/divrem8_ext.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/divrem8_ext.ll | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/X86/divrem8_ext.ll b/llvm/test/CodeGen/X86/divrem8_ext.ll index 59628518dab..b38797e2d9d 100644 --- a/llvm/test/CodeGen/X86/divrem8_ext.ll +++ b/llvm/test/CodeGen/X86/divrem8_ext.ll @@ -6,9 +6,9 @@ target triple = "x86_64-apple-macosx10.10.0" define zeroext i8 @test_udivrem_zext_ah(i8 %x, i8 %y) { ; CHECK-LABEL: test_udivrem_zext_ah ; CHECK: divb -; CHECK: movzbl %ah, %e[[REG_REM:[a-z]]]x +; CHECK: movzbl %ah, [[REG_REM:%[a-z0-9]+]] ; CHECK: movb %al, ([[REG_ZPTR:%[a-z0-9]+]]) -; CHECK: movb %[[REG_REM]]l, %al +; CHECK: movl [[REG_REM]], %eax ; CHECK: ret %div = udiv i8 %x, %y store i8 %div, i8* @z @@ -51,9 +51,9 @@ define signext i8 @test_sdivrem_sext_ah(i8 %x, i8 %y) { ; CHECK-LABEL: test_sdivrem_sext_ah ; CHECK: cbtw ; CHECK: idivb -; CHECK: movsbl %ah, %e[[REG_REM:[a-z]]]x +; CHECK: movsbl %ah, [[REG_REM:%[a-z0-9]+]] ; CHECK: movb %al, ([[REG_ZPTR]]) -; CHECK: movb %[[REG_REM]]l, %al +; CHECK: movl [[REG_REM]], %eax ; CHECK: ret %div = sdiv i8 %x, %y store i8 %div, i8* @z |

