;; Constraint definitions for GCN.
-;; Copyright (C) 2016-2019 Free Software Foundation, Inc.
+;; Copyright (C) 2016-2024 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
(match_test "gcn_constant64_p (op)")))
(define_constraint "DA"
- "Splittable inline immediate 64-bit parameter"
+ "Immediate 64-bit parameter, low and high part match 'A'"
(and (match_code "const_int,const_double,const_vector")
- (match_test "gcn_inline_constant64_p (op)")))
+ (match_test "gcn_inline_constant64_p (op, 0)")))
+
+(define_constraint "Db"
+ "Immediate 64-bit parameter, low part matches 'B', high part matches 'A'"
+ (and (match_code "const_int,const_double,const_vector")
+ (match_test "gcn_inline_constant64_p (op, 1)")))
(define_constraint "DB"
- "Splittable immediate 64-bit parameter"
+ "Immediate 64-bit parameter, low and high part match 'B'"
(match_code "const_int,const_double,const_vector"))
(define_constraint "U"
(define_register_constraint "v" "VGPR_REGS"
"VGPR registers")
+(define_register_constraint "a" "TARGET_CDNA1_PLUS ? AVGPR_REGS : NO_REGS"
+ "Accumulator VGPR registers")
+
(define_register_constraint "Sg" "SGPR_REGS"
"SGPR registers")