From: Uros Bizjak Date: Mon, 10 May 2021 14:41:16 +0000 (+0200) Subject: i386: Force V2SI mode operands to registers in expand_sse_movcc X-Git-Tag: basepoints/gcc-13~7637 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=695776733785973e809c89a739f3fa8d4c9b9d4e;p=thirdparty%2Fgcc.git i386: Force V2SI mode operands to registers in expand_sse_movcc 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. --- diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c index e9f11bca78a2..5cfde5b3d304 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);