From: Alice Carlotti Date: Sun, 20 Apr 2025 22:11:29 +0000 (+0100) Subject: aarch64: Add new test conditional-compare.d X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=87d10eecf9db0e77948e701387111d20c1211da0;p=thirdparty%2Fbinutils-gdb.git aarch64: Add new test conditional-compare.d The register form of ccmp was already tested. --- diff --git a/gas/testsuite/gas/aarch64/conditional-compare.d b/gas/testsuite/gas/aarch64/conditional-compare.d new file mode 100644 index 00000000000..294e0c94c30 --- /dev/null +++ b/gas/testsuite/gas/aarch64/conditional-compare.d @@ -0,0 +1,77 @@ +#as: -march=armv8-a +#objdump: -dr + +.*: file format .* + + +Disassembly of section \.text: + +0+ <\.text>: + *[0-9a-f]+: 3a400800 ccmn w0, #0x0, #0x0, eq // eq = none + *[0-9a-f]+: 3a400be0 ccmn wzr, #0x0, #0x0, eq // eq = none + *[0-9a-f]+: 3a5f0800 ccmn w0, #0x1f, #0x0, eq // eq = none + *[0-9a-f]+: 3a40080f ccmn w0, #0x0, #0xf, eq // eq = none + *[0-9a-f]+: 3a40f800 ccmn w0, #0x0, #0x0, nv + *[0-9a-f]+: ba400800 ccmn x0, #0x0, #0x0, eq // eq = none + *[0-9a-f]+: ba400be0 ccmn xzr, #0x0, #0x0, eq // eq = none + *[0-9a-f]+: ba5f0800 ccmn x0, #0x1f, #0x0, eq // eq = none + *[0-9a-f]+: ba40080f ccmn x0, #0x0, #0xf, eq // eq = none + *[0-9a-f]+: ba40f800 ccmn x0, #0x0, #0x0, nv + *[0-9a-f]+: 7a400800 ccmp w0, #0x0, #0x0, eq // eq = none + *[0-9a-f]+: 7a400be0 ccmp wzr, #0x0, #0x0, eq // eq = none + *[0-9a-f]+: 7a5f0800 ccmp w0, #0x1f, #0x0, eq // eq = none + *[0-9a-f]+: 7a40080f ccmp w0, #0x0, #0xf, eq // eq = none + *[0-9a-f]+: 7a40f800 ccmp w0, #0x0, #0x0, nv + *[0-9a-f]+: fa400800 ccmp x0, #0x0, #0x0, eq // eq = none + *[0-9a-f]+: fa400be0 ccmp xzr, #0x0, #0x0, eq // eq = none + *[0-9a-f]+: fa5f0800 ccmp x0, #0x1f, #0x0, eq // eq = none + *[0-9a-f]+: fa40080f ccmp x0, #0x0, #0xf, eq // eq = none + *[0-9a-f]+: fa40f800 ccmp x0, #0x0, #0x0, nv + *[0-9a-f]+: 3a400000 ccmn w0, w0, #0x0, eq // eq = none + *[0-9a-f]+: 3a4003e0 ccmn wzr, w0, #0x0, eq // eq = none + *[0-9a-f]+: 3a5f0000 ccmn w0, wzr, #0x0, eq // eq = none + *[0-9a-f]+: 3a40000f ccmn w0, w0, #0xf, eq // eq = none + *[0-9a-f]+: 3a40f000 ccmn w0, w0, #0x0, nv + *[0-9a-f]+: ba400000 ccmn x0, x0, #0x0, eq // eq = none + *[0-9a-f]+: ba4003e0 ccmn xzr, x0, #0x0, eq // eq = none + *[0-9a-f]+: ba5f0000 ccmn x0, xzr, #0x0, eq // eq = none + *[0-9a-f]+: ba40000f ccmn x0, x0, #0xf, eq // eq = none + *[0-9a-f]+: ba40f000 ccmn x0, x0, #0x0, nv + *[0-9a-f]+: 7a400000 ccmp w0, w0, #0x0, eq // eq = none + *[0-9a-f]+: 7a4003e0 ccmp wzr, w0, #0x0, eq // eq = none + *[0-9a-f]+: 7a5f0000 ccmp w0, wzr, #0x0, eq // eq = none + *[0-9a-f]+: 7a40000f ccmp w0, w0, #0xf, eq // eq = none + *[0-9a-f]+: 7a40f000 ccmp w0, w0, #0x0, nv + *[0-9a-f]+: fa400000 ccmp x0, x0, #0x0, eq // eq = none + *[0-9a-f]+: fa4003e0 ccmp xzr, x0, #0x0, eq // eq = none + *[0-9a-f]+: fa5f0000 ccmp x0, xzr, #0x0, eq // eq = none + *[0-9a-f]+: fa40000f ccmp x0, x0, #0xf, eq // eq = none + *[0-9a-f]+: fa40f000 ccmp x0, x0, #0x0, nv + *[0-9a-f]+: 3a400800 ccmn w0, #0x0, #0x0, eq // eq = none + *[0-9a-f]+: 3a400800 ccmn w0, #0x0, #0x0, eq // eq = none + *[0-9a-f]+: 3a401800 ccmn w0, #0x0, #0x0, ne // ne = any + *[0-9a-f]+: 3a401800 ccmn w0, #0x0, #0x0, ne // ne = any + *[0-9a-f]+: 3a402800 ccmn w0, #0x0, #0x0, cs // cs = hs, nlast + *[0-9a-f]+: 3a402800 ccmn w0, #0x0, #0x0, cs // cs = hs, nlast + *[0-9a-f]+: 3a402800 ccmn w0, #0x0, #0x0, cs // cs = hs, nlast + *[0-9a-f]+: 3a403800 ccmn w0, #0x0, #0x0, cc // cc = lo, ul, last + *[0-9a-f]+: 3a403800 ccmn w0, #0x0, #0x0, cc // cc = lo, ul, last + *[0-9a-f]+: 3a403800 ccmn w0, #0x0, #0x0, cc // cc = lo, ul, last + *[0-9a-f]+: 3a404800 ccmn w0, #0x0, #0x0, mi // mi = first + *[0-9a-f]+: 3a404800 ccmn w0, #0x0, #0x0, mi // mi = first + *[0-9a-f]+: 3a405800 ccmn w0, #0x0, #0x0, pl // pl = nfrst + *[0-9a-f]+: 3a405800 ccmn w0, #0x0, #0x0, pl // pl = nfrst + *[0-9a-f]+: 3a406800 ccmn w0, #0x0, #0x0, vs + *[0-9a-f]+: 3a407800 ccmn w0, #0x0, #0x0, vc + *[0-9a-f]+: 3a408800 ccmn w0, #0x0, #0x0, hi // hi = pmore + *[0-9a-f]+: 3a408800 ccmn w0, #0x0, #0x0, hi // hi = pmore + *[0-9a-f]+: 3a409800 ccmn w0, #0x0, #0x0, ls // ls = plast + *[0-9a-f]+: 3a409800 ccmn w0, #0x0, #0x0, ls // ls = plast + *[0-9a-f]+: 3a40a800 ccmn w0, #0x0, #0x0, ge // ge = tcont + *[0-9a-f]+: 3a40a800 ccmn w0, #0x0, #0x0, ge // ge = tcont + *[0-9a-f]+: 3a40b800 ccmn w0, #0x0, #0x0, lt // lt = tstop + *[0-9a-f]+: 3a40b800 ccmn w0, #0x0, #0x0, lt // lt = tstop + *[0-9a-f]+: 3a40c800 ccmn w0, #0x0, #0x0, gt + *[0-9a-f]+: 3a40d800 ccmn w0, #0x0, #0x0, le + *[0-9a-f]+: 3a40e800 ccmn w0, #0x0, #0x0, al + *[0-9a-f]+: 3a40f800 ccmn w0, #0x0, #0x0, nv diff --git a/gas/testsuite/gas/aarch64/conditional-compare.s b/gas/testsuite/gas/aarch64/conditional-compare.s new file mode 100644 index 00000000000..1fe23d3e701 --- /dev/null +++ b/gas/testsuite/gas/aarch64/conditional-compare.s @@ -0,0 +1,76 @@ + ccmn w0, #0, #0, eq + ccmn wzr, #0, #0, eq + ccmn w0, #31, #0, eq + ccmn w0, #0, #15, eq + ccmn w0, #0, #0, nv + + ccmn x0, #0, #0, eq + ccmn xzr, #0, #0, eq + ccmn x0, #31, #0, eq + ccmn x0, #0, #15, eq + ccmn x0, #0, #0, nv + + ccmp w0, #0, #0, eq + ccmp wzr, #0, #0, eq + ccmp w0, #31, #0, eq + ccmp w0, #0, #15, eq + ccmp w0, #0, #0, nv + + ccmp x0, #0, #0, eq + ccmp xzr, #0, #0, eq + ccmp x0, #31, #0, eq + ccmp x0, #0, #15, eq + ccmp x0, #0, #0, nv + + ccmn w0, w0, #0, eq + ccmn wzr, w0, #0, eq + ccmn w0, wzr, #0, eq + ccmn w0, w0, #15, eq + ccmn w0, w0, #0, nv + + ccmn x0, x0, #0, eq + ccmn xzr, x0, #0, eq + ccmn x0, xzr, #0, eq + ccmn x0, x0, #15, eq + ccmn x0, x0, #0, nv + + ccmp w0, w0, #0, eq + ccmp wzr, w0, #0, eq + ccmp w0, wzr, #0, eq + ccmp w0, w0, #15, eq + ccmp w0, w0, #0, nv + + ccmp x0, x0, #0, eq + ccmp xzr, x0, #0, eq + ccmp x0, xzr, #0, eq + ccmp x0, x0, #15, eq + ccmp x0, x0, #0, nv + + ccmn w0, #0, #0, eq + ccmn w0, #0, #0, none + ccmn w0, #0, #0, ne + ccmn w0, #0, #0, any + ccmn w0, #0, #0, hs + ccmn w0, #0, #0, cs + ccmn w0, #0, #0, nlast + ccmn w0, #0, #0, lo + ccmn w0, #0, #0, cc + ccmn w0, #0, #0, last + ccmn w0, #0, #0, mi + ccmn w0, #0, #0, first + ccmn w0, #0, #0, pl + ccmn w0, #0, #0, nfrst + ccmn w0, #0, #0, vs + ccmn w0, #0, #0, vc + ccmn w0, #0, #0, hi + ccmn w0, #0, #0, pmore + ccmn w0, #0, #0, ls + ccmn w0, #0, #0, plast + ccmn w0, #0, #0, ge + ccmn w0, #0, #0, tcont + ccmn w0, #0, #0, lt + ccmn w0, #0, #0, tstop + ccmn w0, #0, #0, gt + ccmn w0, #0, #0, le + ccmn w0, #0, #0, al + ccmn w0, #0, #0, nv