This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[ptx] immediate operands


The atomic instructions can take immediate operands.  Applied to trunk.

nathan


2015-11-19  Nathan Sidwell  <nathanacm.org>

	* config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1,
	atomic_exchange<mode>): Input values can be immediates.

Index: gcc/config/nvptx/nvptx.md
===================================================================
--- gcc/config/nvptx/nvptx.md	(revision 230605)
+++ gcc/config/nvptx/nvptx.md	(working copy)
@@ -1494,8 +1494,8 @@
   [(set (match_operand:SDIM 0 "nvptx_register_operand" "=R")
 	(unspec_volatile:SDIM
 	  [(match_operand:SDIM 1 "memory_operand" "+m")
-	   (match_operand:SDIM 2 "nvptx_register_operand" "R")
-	   (match_operand:SDIM 3 "nvptx_register_operand" "R")
+	   (match_operand:SDIM 2 "nvptx_nonmemory_operand" "Ri")
+	   (match_operand:SDIM 3 "nvptx_nonmemory_operand" "Ri")
 	   (match_operand:SI 4 "const_int_operand")]
 	  UNSPECV_CAS))
    (set (match_dup 1)
@@ -1510,7 +1510,7 @@
 	   (match_operand:SI 3 "const_int_operand")]		;; model
 	  UNSPECV_XCHG))
    (set (match_dup 1)
-	(match_operand:SDIM 2 "nvptx_register_operand" "R"))]	;; input
+	(match_operand:SDIM 2 "nvptx_nonmemory_operand" "Ri"))]	;; input
   ""
   "%.\\tatom%A1.exch.b%T0\\t%0, %1, %2;")
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]