aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/X86/X86AsmBackend.cpp3
-rw-r--r--test/MC/ELF/relocation.s10
2 files changed, 8 insertions, 5 deletions
diff --git a/lib/Target/X86/X86AsmBackend.cpp b/lib/Target/X86/X86AsmBackend.cpp
index 4d7d96dcb3..9b556a55ef 100644
--- a/lib/Target/X86/X86AsmBackend.cpp
+++ b/lib/Target/X86/X86AsmBackend.cpp
@@ -194,6 +194,9 @@ static unsigned getRelaxedOpcodeArith(unsigned Op) {
// PUSH
case X86::PUSHi8: return X86::PUSHi32;
+ case X86::PUSHi16: return X86::PUSHi32;
+ case X86::PUSH64i8: return X86::PUSH64i32;
+ case X86::PUSH64i16: return X86::PUSH64i32;
}
}
diff --git a/test/MC/ELF/relocation.s b/test/MC/ELF/relocation.s
index 7db2248adf..2760232a5a 100644
--- a/test/MC/ELF/relocation.s
+++ b/test/MC/ELF/relocation.s
@@ -92,23 +92,23 @@ bar:
// CHECK: # Relocation 0x0000000b
// CHECK-NEXT: (('r_offset', 0x0000004e)
// CHECK-NEXT: ('r_sym', 0x00000002)
-// CHECK-NEXT: ('r_type', 0x0000000e)
+// CHECK-NEXT: ('r_type', 0x0000000b)
// CHECK-NEXT: ('r_addend', 0x00000000)
// CHECK: # Relocation 0x0000000c
-// CHECK-NEXT: (('r_offset', 0x00000052)
+// CHECK-NEXT: (('r_offset', 0x00000055)
// CHECK-NEXT: ('r_sym', 0x00000006)
// CHECK-NEXT: ('r_type', 0x00000002)
// CHECK-NEXT: ('r_addend', 0xfffffffc)
// CHECK: # Relocation 0x0000000d
-// CHECK-NEXT: (('r_offset', 0x00000059)
+// CHECK-NEXT: (('r_offset', 0x0000005c)
// CHECK-NEXT: ('r_sym', 0x00000006)
// CHECK-NEXT: ('r_type', 0x00000002)
-// CHECK-NEXT: ('r_addend', 0x00000059)
+// CHECK-NEXT: ('r_addend', 0x0000005c)
// CHECK: # Relocation 0x0000000e
-// CHECK-NEXT: (('r_offset', 0x00000060)
+// CHECK-NEXT: (('r_offset', 0x00000063)
// CHECK-NEXT: ('r_sym', 0x00000002)
// CHECK-NEXT: ('r_type', 0x0000000b)
// CHECK-NEXT: ('r_addend', 0x00000000)