This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR 18503, "sse2_movhpd" issues
- From: Davide Rossetti <davide dot rossetti at roma1 dot infn dot it>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 30 Nov 2004 21:38:32 +0100
- Subject: Re: [PATCH] Fix PR 18503, "sse2_movhpd" issues
- References: <20040413142230.14941.davide.rossetti@roma1.infn.it> <20041130154413.2725.qmail@sourceware.org>
>(define_insn "sse2_movhpd"
> [(set (match_operand:DF "nonimmediate_operand" "=x,m")
> (vec_select:DF
> (match_operand:V2DF 1 "nonimmediate_operand" "m,x")
> (parallel [(const_int 1)])))]
> "TARGET_SSE2 && (GET_CODE (operands[1]) == MEM"
> "movhpd\t{%1, %0|%0, %1}"
> [(set_attr "type" "ssecvt")
> (set_attr "mode" "V2DF")])
problems is that sse2_movhpd produces a V2DF, where the low part is the
__same__ and the hi part is loaded from the argument. your code
evaluates to a DF !!!
regards