User account creation filtered due to spam.

View | Details | Raw Unified | Return to bug 52736
Collapse All | Expand All

(-)gcc/config/i386/sse.md.jj (-1 / +1 lines)
Lines 4901-4907 (define_split Link Here
4901
	  (vec_select:DF (match_dup 0) (parallel [(const_int 1)]))))]
4901
	  (vec_select:DF (match_dup 0) (parallel [(const_int 1)]))))]
4902
  "TARGET_SSE2 && reload_completed"
4902
  "TARGET_SSE2 && reload_completed"
4903
  [(set (match_dup 0) (match_dup 1))]
4903
  [(set (match_dup 0) (match_dup 1))]
4904
  "operands[0] = adjust_address (operands[0], DFmode, 8);")
4904
  "operands[0] = adjust_address (operands[0], DFmode, 0);")
4905
4905
4906
(define_insn "sse2_movsd"
4906
(define_insn "sse2_movsd"
4907
  [(set (match_operand:V2DF 0 "nonimmediate_operand"   "=x,x,x,x,m,x,x,x,o")
4907
  [(set (match_operand:V2DF 0 "nonimmediate_operand"   "=x,x,x,x,m,x,x,x,o")
(-)gcc/testsuite/gcc.target/i386/pr52736.c.jj (+29 lines)
Line 0 Link Here
1
/* PR target/52736 */
2
/* { dg-do run } */
3
/* { dg-options "-O1 -msse2" } */
4
/* { dg-require-effective-target sse2_runtime } */
5
6
#include <x86intrin.h>
7
8
typedef double D __attribute__((may_alias));
9
__attribute__((aligned(16))) static const double r[4] = { 1., 5., 1., 3. };
10
11
__attribute__((noinline, noclone))
12
void
13
foo (int x)
14
{
15
  asm volatile ("" : "+g" (x) : : "memory");
16
  if (x != 3)
17
    __builtin_abort ();
18
}
19
20
int
21
main ()
22
{
23
  __m128d t = _mm_set1_pd (5.);
24
  ((D *)(&t))[0] = 1.;
25
  foo (_mm_movemask_pd (_mm_cmpeq_pd (t, _mm_load_pd (&r[0]))));
26
  ((D *)(&t))[1] = 3.;
27
  foo (_mm_movemask_pd (_mm_cmpeq_pd (t, _mm_load_pd (&r[2]))));
28
  return 0;
29
}

Return to bug 52736