aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rl78
diff options
context:
space:
mode:
authorSebastian Perta <sebastian.perta@renesas.com>2017-10-23 17:54:02 +0000
committerDJ Delorie <dj@gcc.gnu.org>2017-10-23 13:54:02 -0400
commit5feee954e8640c104085e6e4ecf0c452e1cb588c (patch)
treec5979bbc13d17681d5c4c1bf6d61e3e10756eef8 /gcc/config/rl78
parent8cb41ec6634db079da2ec4ea2ca1f588093a8fbb (diff)
downloadgcc-5feee954e8640c104085e6e4ecf0c452e1cb588c.zip
gcc-5feee954e8640c104085e6e4ecf0c452e1cb588c.tar.gz
gcc-5feee954e8640c104085e6e4ecf0c452e1cb588c.tar.bz2
rl78.md: New define_expand "subdi3".
* config/rl78/rl78.md: New define_expand "subdi3". * config/rl78/subdi3.S: New assembly file. * config/rl78/t-rl78: Added subdi3.S to LIB2ADD. From-SVN: r254019
Diffstat (limited to 'gcc/config/rl78')
-rw-r--r--gcc/config/rl78/rl78.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/rl78/rl78.md b/gcc/config/rl78/rl78.md
index 105d9be..c53ca0f 100644
--- a/gcc/config/rl78/rl78.md
+++ b/gcc/config/rl78/rl78.md
@@ -268,6 +268,16 @@
DONE;"
)
+(define_expand "subdi3"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "")
+ (minus:DI (match_operand:DI 1 "general_operand" "")
+ (match_operand:DI 2 "general_operand" "")))
+ ]
+ ""
+ "rl78_emit_libcall (\"__subdi3\", MINUS, DImode, DImode, 3, operands);
+ DONE;"
+)
+
(define_insn "subsi3_internal_virt"
[(set (match_operand:SI 0 "nonimmediate_operand" "=v,&vm, vm")
(minus:SI (match_operand:SI 1 "general_operand" "0, vim, vim")