aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Stubbs <ams@baylibre.com>2025-07-09 14:59:20 +0000
committerAndrew Stubbs <ams@baylibre.com>2025-07-30 12:57:36 +0000
commitf29755bd903a1234cff76066fb24793451b06524 (patch)
treeeba70f0c1710b9188057153e5bfc0cf30b16c1e6 /gcc
parent476ff6a043c3aad033e9b450172dbe7621ff3157 (diff)
downloadgcc-f29755bd903a1234cff76066fb24793451b06524.zip
gcc-f29755bd903a1234cff76066fb24793451b06524.tar.gz
gcc-f29755bd903a1234cff76066fb24793451b06524.tar.bz2
amdgcn: fix vec_ucmp infinite recursion
I suppose this pattern doesn't get used much! The unsigned compare was meant to be defined using the signed compare pattern, but actually ended up trying to recursively call itself. This patch fixes the issue in the obvious way. gcc/ChangeLog: * config/gcn/gcn-valu.md (vec_cmpu<mode>di_exec): Call gen_vec_cmp*, not gen_vec_cmpu*. (cherry picked from commit d8680bac95c68002d7e4b13ae1dab1116fdfefc6)
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/gcn/gcn-valu.md6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/config/gcn/gcn-valu.md b/gcc/config/gcn/gcn-valu.md
index f49c1ed..71a3916 100644
--- a/gcc/config/gcn/gcn-valu.md
+++ b/gcc/config/gcn/gcn-valu.md
@@ -3792,9 +3792,9 @@
/* Unsigned comparisons use the same patterns as signed comparisons,
except that they use unsigned operators (e.g. LTU vs LT).
The '%E1' directive then does the Right Thing. */
- emit_insn (gen_vec_cmpu<mode>di_exec (operands[0], operands[1],
- operands[2], operands[3],
- operands[4]));
+ emit_insn (gen_vec_cmp<mode>di_exec (operands[0], operands[1],
+ operands[2], operands[3],
+ operands[4]));
DONE;
})