diff options
Diffstat (limited to 'lib/Target/X86/X86InstrCompiler.td')
-rw-r--r-- | lib/Target/X86/X86InstrCompiler.td | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/lib/Target/X86/X86InstrCompiler.td b/lib/Target/X86/X86InstrCompiler.td index 2540455..99c2b8f 100644 --- a/lib/Target/X86/X86InstrCompiler.td +++ b/lib/Target/X86/X86InstrCompiler.td @@ -1041,13 +1041,7 @@ def : Pat<(X86tcret ptr_rc_tailcall:$dst, imm:$off), (TCRETURNri64 ptr_rc_tailcall:$dst, imm:$off)>, Requires<[In64BitMode]>; -// When calling a variadic function with 6 arguments, 7 scratch registers are -// needed since %al holds the number of vector registers used. That leaves %r11 -// as the only remaining GR64_TC register for the addressing mode. -// -// The single_reg_addr pattern rejects any addressing modes that would need -// more than one register. -def : Pat<(X86tcret (load single_reg_addr:$dst), imm:$off), +def : Pat<(X86tcret (load addr:$dst), imm:$off), (TCRETURNmi64 addr:$dst, imm:$off)>, Requires<[In64BitMode]>; |