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.dg/   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:     memcmp-2.c (5.12 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* PR middle-end/78257 - missing memcmp optimization with constant arrays
   { dg-do compile }
   { dg-options "-O -Wall -fdump-tree-optimized" } */

#define assert(e) ((e) ? (void)0 : __builtin_abort ())

typedef __INT32_TYPE__ int32_t;

extern int memcmp (const void*, const void*, __SIZE_TYPE__);

const int32_t i_0 = 0;
const int32_t j_0 = 0;

void eq_i0_j0 (void)
{
  const char *pi = (char*)&i_0, *pj = (char*)&j_0;
  int n = 0;

  n += 0 == memcmp (pi,     pj,     sizeof (int32_t));
  n += 0 == memcmp (pi + 1, pj + 1, sizeof (int32_t) - 1);
  n += 0 == memcmp (pi + 2, pj + 2, sizeof (int32_t) - 2);
  n += 0 == memcmp (pi + 3, pj + 3, sizeof (int32_t) - 3);
  n += 0 == memcmp (pi + 4, pj + 4, sizeof (int32_t) - 4);

  assert (n == 5);
}


const int32_t i1234 = 1234;
const int32_t j1234 = 1234;

void eq_i1234_j1245 (void)
{
  const char *pi = (char*)&i1234, *pj = (char*)&j1234;
  int n = 0;

  n += 0 == memcmp (pi,     pj,     sizeof (int32_t));
  n += 0 == memcmp (pi + 1, pj + 1, sizeof (int32_t) - 1);
  n += 0 == memcmp (pi + 2, pj + 2, sizeof (int32_t) - 2);
  n += 0 == memcmp (pi + 3, pj + 3, sizeof (int32_t) - 3);
  n += 0 == memcmp (pi + 4, pj + 4, sizeof (int32_t) - 4);

  assert (n == 5);
}


const int32_t a1[2] = { 1234 };
const int32_t b1[2] = { 1234 };

void eq_a1_b1 (void)
{
  const char *pi = (char*)&a1, *pj = (char*)&b1;
  int n = 0, nb = sizeof a1;

  n += 0 == memcmp (pi,     pj,     nb);
  n += 0 == memcmp (pi + 1, pj + 1, nb - 1);
  n += 0 == memcmp (pi + 2, pj + 2, nb - 2);
  n += 0 == memcmp (pi + 3, pj + 3, nb - 3);
  n += 0 == memcmp (pi + 4, pj + 4, nb - 4);
  n += 0 == memcmp (pi + 5, pj + 5, nb - 5);
  n += 0 == memcmp (pi + 6, pj + 6, nb - 6);
  n += 0 == memcmp (pi + 7, pj + 7, nb - 7);
  n += 0 == memcmp (pi + 8, pj + 8, nb - 8);

  assert (n == 9);
}

const int32_t a2[2] = { 1234 };
const int32_t b2[2] = { 1234, 0 };

void eq_a2_b2 (void)
{
  const char *pi = (char*)&a2, *pj = (char*)&b2;
  int n = 0, nb = sizeof a2;

  n += 0 == memcmp (pi,     pj,     nb);
  n += 0 == memcmp (pi + 1, pj + 1, nb - 1);
  n += 0 == memcmp (pi + 2, pj + 2, nb - 2);
  n += 0 == memcmp (pi + 3, pj + 3, nb - 3);
  n += 0 == memcmp (pi + 4, pj + 4, nb - 4);
  n += 0 == memcmp (pi + 5, pj + 5, nb - 5);
  n += 0 == memcmp (pi + 6, pj + 6, nb - 6);
  n += 0 == memcmp (pi + 7, pj + 7, nb - 7);
  n += 0 == memcmp (pi + 8, pj + 8, nb - 8);

  assert (n == 9);
}


const int32_t a5[5] = { [3] = 1234, [1] = 0 };
const int32_t b5[5] = { 0, 0, 0, 1234 };

void eq_a5_b5 (void)
{
  int n = 0, b = sizeof a5;
  const char *pi = (char*)a5, *pj = (char*)b5;

  n += 0 == memcmp (pi, pj, b);
  n += 0 == memcmp (pi + 1, pj + 1, b - 1);
  n += 0 == memcmp (pi + 2, pj + 2, b - 2);
  n += 0 == memcmp (pi + 3, pj + 3, b - 3);

  n += 0 == memcmp (pi + 4, pj + 4, b - 4);
  n += 0 == memcmp (pi + 5, pj + 5, b - 5);
  n += 0 == memcmp (pi + 6, pj + 6, b - 6);
  n += 0 == memcmp (pi + 7, pj + 7, b - 7);

  n += 0 == memcmp (pi + 8, pj + 8, b - 8);
  n += 0 == memcmp (pi + 9, pj + 9, b - 9);
  n += 0 == memcmp (pi + 10, pj + 10, b - 10);
  n += 0 == memcmp (pi + 11, pj + 11, b - 11);

  n += 0 == memcmp (pi + 12, pj + 12, b - 12);
  n += 0 == memcmp (pi + 13, pj + 13, b - 13);
  n += 0 == memcmp (pi + 14, pj + 14, b - 14);
  n += 0 == memcmp (pi + 15, pj + 15, b - 15);

  n += 0 == memcmp (pi + 16, pj + 16, b - 16);
  n += 0 == memcmp (pi + 17, pj + 17, b - 17);
  n += 0 == memcmp (pi + 18, pj + 18, b - 18);
  n += 0 == memcmp (pi + 19, pj + 19, b - 19);

  assert (n == 20);
}


const int32_t a19[19] = { [13] = 13, [8] = 8, [4] = 4, [1] = 1  };
const int32_t b19[19] = { 0, 1, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 13 };

void eq_a19_b19 (void)
{
  int n = 0, b = sizeof a19;
  const char *pi = (char*)a19, *pj = (char*)b19;

  n += 0 == memcmp (pi,     pj,     b);
  n += 0 == memcmp (pi + 1, pj + 1, b - 1);
  n += 0 == memcmp (pi + 2, pj + 2, b - 2);
  n += 0 == memcmp (pi + 3, pj + 3, b - 3);

  n += 0 == memcmp (pi + 14, pj + 14, b - 14);
  n += 0 == memcmp (pi + 15, pj + 15, b - 15);
  n += 0 == memcmp (pi + 16, pj + 16, b - 16);
  n += 0 == memcmp (pi + 17, pj + 17, b - 17);

  n += 0 == memcmp (pi + 28, pj + 28, b - 28);
  n += 0 == memcmp (pi + 29, pj + 29, b - 29);
  n += 0 == memcmp (pi + 30, pj + 30, b - 30);
  n += 0 == memcmp (pi + 31, pj + 31, b - 31);

  n += 0 == memcmp (pi + 42, pj + 42, b - 42);
  n += 0 == memcmp (pi + 43, pj + 43, b - 43);
  n += 0 == memcmp (pi + 44, pj + 44, b - 44);
  n += 0 == memcmp (pi + 45, pj + 45, b - 45);

  n += 0 == memcmp (pi + 56, pj + 56, b - 56);
  n += 0 == memcmp (pi + 57, pj + 57, b - 57);
  n += 0 == memcmp (pi + 58, pj + 58, b - 58);
  n += 0 == memcmp (pi + 59, pj + 59, b - 59);

  assert (n == 20);
}


const int32_t A20[20] = { [13] = 14, [8] = 8, [4] = 4, [1] = 1  };
const int32_t b20[20] = { 0, 1, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 13 };

void gt_A20_b20 (void)
{
  int n = memcmp (A20, b20, sizeof A20) > 0;
  assert (n == 1);
}

const int32_t a21[21] = { [13] = 12, [8] = 8, [4] = 4, [1] = 1  };
const int32_t B21[21] = { 0, 1, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 13 };

void lt_a21_B21 (void)
{
  int n = memcmp (a21, B21, sizeof a21) < 0;
  assert (n == 1);
}


/* { dg-final { scan-tree-dump-not "abort" "optimized" } } */

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.0065 ]--