summaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/PPCInstr64Bit.td
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-10-23 06:42:42 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-10-23 06:42:42 +0000
commit152b7e18748f7e06a93260f22cc9dac8eb3abee2 (patch)
treec304a6fdd9fcfd3b049db55eca99f02fa8c8909c /lib/Target/PowerPC/PPCInstr64Bit.td
parent8eef4b2d05808e586a0b5aabc87e9ba5d5e8a798 (diff)
downloadllvm-152b7e18748f7e06a93260f22cc9dac8eb3abee2.tar.gz
llvm-152b7e18748f7e06a93260f22cc9dac8eb3abee2.tar.bz2
llvm-152b7e18748f7e06a93260f22cc9dac8eb3abee2.tar.xz
Temporary solution: added a different set of BCTRL_Macho / BCTRL_ELF with right callee-saved defs set for ppc64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43248 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCInstr64Bit.td')
-rw-r--r--lib/Target/PowerPC/PPCInstr64Bit.td12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/Target/PowerPC/PPCInstr64Bit.td b/lib/Target/PowerPC/PPCInstr64Bit.td
index 9d728cfc8f..11d90b3415 100644
--- a/lib/Target/PowerPC/PPCInstr64Bit.td
+++ b/lib/Target/PowerPC/PPCInstr64Bit.td
@@ -81,10 +81,13 @@ let isCall = 1, PPC970_Unit = 7,
def BL8_Macho : IForm<18, 0, 1,
(outs), (ins calltarget:$func, variable_ops),
"bl $func", BrB, []>; // See Pat patterns below.
-
def BLA8_Macho : IForm<18, 1, 1,
(outs), (ins aaddr:$func, variable_ops),
"bla $func", BrB, [(PPCcall_Macho (i64 imm:$func))]>;
+ def BCTRL8_Macho : XLForm_2_ext<19, 528, 20, 0, 1,
+ (outs), (ins variable_ops),
+ "bctrl", BrB,
+ [(PPCbctrl_Macho)]>, Requires<[In64BitMode]>;
}
// ELF 64 ABI Calls = Macho ABI Calls
@@ -99,11 +102,14 @@ let isCall = 1, PPC970_Unit = 7,
// Convenient aliases for call instructions
def BL8_ELF : IForm<18, 0, 1,
(outs), (ins calltarget:$func, variable_ops),
- "bl $func", BrB, []>; // See Pat patterns below.
-
+ "bl $func", BrB, []>; // See Pat patterns below.
def BLA8_ELF : IForm<18, 1, 1,
(outs), (ins aaddr:$func, variable_ops),
"bla $func", BrB, [(PPCcall_ELF (i64 imm:$func))]>;
+ def BCTRL8_ELF : XLForm_2_ext<19, 528, 20, 0, 1,
+ (outs), (ins variable_ops),
+ "bctrl", BrB,
+ [(PPCbctrl_ELF)]>, Requires<[In64BitMode]>;
}