From 695776733785973e809c89a739f3fa8d4c9b9d4e Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Mon, 10 May 2021 16:41:16 +0200 Subject: [PATCH] i386: Force V2SI mode operands to registers in expand_sse_movcc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For some reason middle-end does not enforce operand predicates for vcond patterns. 2021-05-10 Uroš Bizjak gcc/ * config/i386/i386-expand.c (ix86_expand_sse_movcc) : Force op_true to register. --- gcc/config/i386/i386-expand.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c index e9f11bca78a..5cfde5b3d30 100644 --- a/gcc/config/i386/i386-expand.c +++ b/gcc/config/i386/i386-expand.c @@ -3707,6 +3707,8 @@ ix86_expand_sse_movcc (rtx dest, rtx cmp, rtx op_true, rtx op_false) case E_V2SImode: if (TARGET_SSE4_1) { + op_true = force_reg (mode, op_true); + gen = gen_mmx_pblendvb; if (mode != V8QImode) d = gen_reg_rtx (V8QImode);