aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWalter Lee <walt@tilera.com>2016-11-23 04:35:43 +0000
committerWalter Lee <walt@gcc.gnu.org>2016-11-23 04:35:43 +0000
commit90b9beed5cd63dda624e130648c5639df64195c3 (patch)
tree70d1d31937de90d886833b445dd0013b11f775af
parent0f525c3e59929888046e686ec8375514b5c381f5 (diff)
downloadgcc-90b9beed5cd63dda624e130648c5639df64195c3.zip
gcc-90b9beed5cd63dda624e130648c5639df64195c3.tar.gz
gcc-90b9beed5cd63dda624e130648c5639df64195c3.tar.bz2
TILEPro/TILE-Gx: add trap patterns
* config/tilegx/tilegx.md (trap): New pattern. * config/tilepro/tilepro.md (trap): Likewise. From-SVN: r242735
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/tilegx/tilegx.md6
-rw-r--r--gcc/config/tilepro/tilepro.md6
3 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a7a776e..97320c7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2016-11-22 Walter Lee <walt@tilera.com>
+ * config/tilegx/tilegx.md (trap): New pattern.
+ * config/tilepro/tilepro.md (trap): Likewise.
+
+2016-11-22 Walter Lee <walt@tilera.com>
+
* config/tilegx/tilegx.md (*zero_extract): Use
define_insn_and_split instead of define_insn; Handle pos + size >
64.
diff --git a/gcc/config/tilegx/tilegx.md b/gcc/config/tilegx/tilegx.md
index 3ad5a87..eccdd28 100644
--- a/gcc/config/tilegx/tilegx.md
+++ b/gcc/config/tilegx/tilegx.md
@@ -2773,6 +2773,12 @@
"nop"
[(set_attr "type" "Y01")])
+(define_insn "trap"
+ [(trap_if (const_int 1) (const_int 0))]
+ ""
+ "raise; moveli zero, 6"
+ [(set_attr "type" "cannot_bundle")])
+
;;
;; Conditional branches
diff --git a/gcc/config/tilepro/tilepro.md b/gcc/config/tilepro/tilepro.md
index 6493b06..d1536ed 100644
--- a/gcc/config/tilepro/tilepro.md
+++ b/gcc/config/tilepro/tilepro.md
@@ -1578,6 +1578,12 @@
"nop"
[(set_attr "type" "Y01")])
+(define_insn "trap"
+ [(trap_if (const_int 1) (const_int 0))]
+ ""
+ "raise; moveli zero, 6"
+ [(set_attr "type" "cannot_bundle")])
+
;;
;; Conditional branches