aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2013-06-26 19:08:49 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2013-06-26 19:08:49 +0000
commit842cfc91f29f6446bb675891f7abc127f9fbe768 (patch)
treeb65deaab8766fb490db419393e963eea97691190
parent9a308df027b60057d0fe3ba7a3ee9648f6677879 (diff)
downloadexternal_llvm-842cfc91f29f6446bb675891f7abc127f9fbe768.zip
external_llvm-842cfc91f29f6446bb675891f7abc127f9fbe768.tar.gz
external_llvm-842cfc91f29f6446bb675891f7abc127f9fbe768.tar.bz2
[mips] Do not emit ".option pic0" if target is mips64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185012 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/Mips/MipsAsmPrinter.cpp2
-rw-r--r--test/MC/Mips/abicalls.ll2
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/Target/Mips/MipsAsmPrinter.cpp b/lib/Target/Mips/MipsAsmPrinter.cpp
index bab70af..c037c05 100644
--- a/lib/Target/Mips/MipsAsmPrinter.cpp
+++ b/lib/Target/Mips/MipsAsmPrinter.cpp
@@ -562,7 +562,7 @@ void MipsAsmPrinter::EmitStartOfAsmFile(Module &M) {
if (OutStreamer.hasRawTextSupport()) {
OutStreamer.EmitRawText(StringRef("\t.abicalls"));
Reloc::Model RM = Subtarget->getRelocationModel();
- if (RM == Reloc::Static)
+ if (RM == Reloc::Static && !Subtarget->hasMips64())
OutStreamer.EmitRawText(StringRef("\t.option\tpic0"));
}
diff --git a/test/MC/Mips/abicalls.ll b/test/MC/Mips/abicalls.ll
index a93ae6d..7b98b02 100644
--- a/test/MC/Mips/abicalls.ll
+++ b/test/MC/Mips/abicalls.ll
@@ -7,6 +7,8 @@
; RUN: llc -filetype=asm -mtriple mipsel-unknown-linux -mcpu=mips32 -relocation-model=static %s -o - | FileCheck -check-prefix=CHECK-STATIC %s
; RUN: llc -filetype=asm -mtriple mipsel-unknown-linux -mcpu=mips32 %s -o - | FileCheck -check-prefix=CHECK-PIC %s
+; RUN: llc -filetype=asm -mtriple mips64el-unknown-linux -mcpu=mips64 -relocation-model=static %s -o - | FileCheck -check-prefix=CHECK-PIC %s
+
; CHECK-STATIC: .abicalls
; CHECK-STATIC-NEXT: pic0
; CHECK-PIC: .abicalls