diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-02 15:40:22 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-02 15:40:22 +0000 |
commit | 35b7bebe1162326c38217ff80d4a49fbbffcc365 (patch) | |
tree | ca40f2316e4ea9df6282c869b4559ca7763dee87 /lib/Target/SystemZ/SystemZOperators.td | |
parent | 1ce4894a3f1ce6e63c1b109c24235d81dea2908f (diff) | |
download | external_llvm-35b7bebe1162326c38217ff80d4a49fbbffcc365.zip external_llvm-35b7bebe1162326c38217ff80d4a49fbbffcc365.tar.gz external_llvm-35b7bebe1162326c38217ff80d4a49fbbffcc365.tar.bz2 |
[SystemZ] Use DSGFR over DSGR in more cases
Fixes some cases where we were using full 64-bit division for (sdiv i32, i32)
and (sdiv i64, i32).
The "32" in "SDIVREM32" just refers to the second operand. The first operand
of all *DIVREM*s is a GR128.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185435 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZOperators.td')
-rw-r--r-- | lib/Target/SystemZ/SystemZOperators.td | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZOperators.td b/lib/Target/SystemZ/SystemZOperators.td index 021824e..a84af7a 100644 --- a/lib/Target/SystemZ/SystemZOperators.td +++ b/lib/Target/SystemZ/SystemZOperators.td @@ -81,6 +81,7 @@ def z_adjdynalloc : SDNode<"SystemZISD::ADJDYNALLOC", SDT_ZAdjDynAlloc>; def z_extract_access : SDNode<"SystemZISD::EXTRACT_ACCESS", SDT_ZExtractAccess>; def z_umul_lohi64 : SDNode<"SystemZISD::UMUL_LOHI64", SDT_ZGR128Binary64>; +def z_sdivrem32 : SDNode<"SystemZISD::SDIVREM32", SDT_ZGR128Binary32>; def z_sdivrem64 : SDNode<"SystemZISD::SDIVREM64", SDT_ZGR128Binary64>; def z_udivrem32 : SDNode<"SystemZISD::UDIVREM32", SDT_ZGR128Binary32>; def z_udivrem64 : SDNode<"SystemZISD::UDIVREM64", SDT_ZGR128Binary64>; |