gcc/contrib/mdcompact/tests/3.md.out
Andrea Corallo e866d08d8b contrib: add mdcompact
Hello all,

this patch checks in mdcompact, the tool written in elisp that I used
to mass convert all the multi choice pattern in the aarch64 back-end to
the new compact syntax.

I tested it on Emacs 29 (might run on older versions as well not
sure), also I verified it runs cleanly on a few other back-ends (arm,
loongarch).

The tool can be used to convert a single pattern, an open buffer or
all md files in a directory.

The tool might need further adjustment to run on some specific
back-end, in case very happy to help.

This patch was pre-approved here [1].

Best Regards

  Andrea Corallo

[1] <https://gcc.gnu.org/pipermail/gcc-patches/2023-October/631830.html>

contrib/ChangeLog

	* mdcompact/mdcompact-testsuite.el: New file.
	* mdcompact/mdcompact.el: Likewise.
	* mdcompact/tests/1.md: Likewise.
	* mdcompact/tests/1.md.out: Likewise.
	* mdcompact/tests/2.md: Likewise.
	* mdcompact/tests/2.md.out: Likewise.
	* mdcompact/tests/3.md: Likewise.
	* mdcompact/tests/3.md.out: Likewise.
	* mdcompact/tests/4.md: Likewise.
	* mdcompact/tests/4.md.out: Likewise.
	* mdcompact/tests/5.md: Likewise.
	* mdcompact/tests/5.md.out: Likewise.
	* mdcompact/tests/6.md: Likewise.
	* mdcompact/tests/6.md.out: Likewise.
	* mdcompact/tests/7.md: Likewise.
	* mdcompact/tests/7.md.out: Likewise.
2023-10-05 17:41:54 +02:00

17 lines
530 B
Text

(define_insn "*add<mode>3_compareV_cconly_imm"
[(set (reg:CC_V CC_REGNUM)
(compare:CC_V
(plus:<DWI>
(sign_extend:<DWI> (match_operand:GPI 0 "register_operand"))
(match_operand:<DWI> 1 "const_scalar_int_operand"))
(sign_extend:<DWI>
(plus:GPI
(match_dup 0)
(match_operand:GPI 2 "aarch64_plus_immediate")))))]
"INTVAL (operands[1]) == INTVAL (operands[2])"
{@ [ cons: 0 , 2 ]
[ r , I ] cmn\t%<w>0, %<w>1
[ r , J ] cmp\t%<w>0, #%n1
}
[(set_attr "type" "alus_imm")]
)