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/s390/   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:     risbg-ll-2.c (3.89 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// Test sequences that can use RISBG with a normal first operand.

/* Tests ported from the Llvm testsuite. */

/* { dg-do compile { target s390x-*-* } } */
/* { dg-options "-O3 -march=z10 -mzarch -fno-asynchronous-unwind-tables" }  */

#define i64 signed long long
#define ui64 unsigned long long
#define i32 signed int
#define ui32 unsigned int

// Test a case with two ANDs.
i32 f1 (i32 v_a, i32 v_b)
{
  /* { dg-final { scan-assembler "f1:\n\trisbg\t%r2,%r3,60,62,0" } } */
  i32 v_anda = v_a & -15;
  i32 v_andb = v_b & 14;
  i32 v_or = v_anda | v_andb;
  return v_or;
}

// ...and again with i64.
i64 f2 (i64 v_a, i64 v_b)
{
  /* { dg-final { scan-assembler "f2:\n\trisbg\t%r2,%r3,60,62,0" { target { lp64 } } } } */
  /* { dg-final { scan-assembler "f2:\n\trisbg\t%r3,%r2,0,0\\\+32-1,64-0-32\n\(\t.*\n\)*\trisbg\t%r\[23\],%r5,60,62,0" { target { ! lp64 } } } } */
  i64 v_anda = v_a & -15;
  i64 v_andb = v_b & 14;
  i64 v_or = v_anda | v_andb;
  return v_or;
}

// Test a case with two ANDs and a shift.
i32 f3 (i32 v_a, i32 v_b)
{
  /* { dg-final { scan-assembler "f3:\n\trisbg\t%r2,%r3,64-4,63,\\(64-32\\)\\+4\\+20\n\tlgfr\t%r2,%r2" } } */
  i32 v_anda = v_a & -16;
  i32 v_shr = ((ui32)v_b) >> 8;
  i32 v_andb = v_shr & 15;
  i32 v_or = v_anda | v_andb;
  return v_or;
}

// ...and again with i64.
i64 f4 (i64 v_a, i64 v_b)
{
  /* { dg-final { scan-assembler "f4:\n\trisbg\t%r2,%r3,64-4,63,\\(64-64\\)\\+4\\+52" { target { lp64 } } } } */
  /* { dg-final { scan-assembler "f4:\n\(\t.*\n\)*\trisbg\t%r5,%r5,64-4,128\\+63,\\(64-64\\)\\+52\\+4" { target { ! lp64 } } } } */
  i64 v_anda = v_a & -16;
  i64 v_shr = ((ui64)v_b) >> 8;
  i64 v_andb = v_shr & 15;
  i64 v_or = v_anda | v_andb;
  return v_or;
}

// Test a case with a single AND and a left shift.
i32 f5 (i32 v_a, i32 v_b)
{
  /* { dg-final { scan-assembler "f5:\n\trisbg\t%r2,%r3,32,64-10-1,10" } } */
  i32 v_anda = v_a & 1023;
  i32 v_shlb = v_b << 10;
  i32 v_or = v_anda | v_shlb;
  return v_or;
}

// ...and again with i64.
i64 f6 (i64 v_a, i64 v_b)
{
  /* { dg-final { scan-assembler "f6:\n\trisbg\t%r2,%r3,0,64-10-1,10" { target { lp64 } } } } */
  /* { dg-final { scan-assembler "f6:\n\trisbg\t%r5,%r4,0,0\\\+32-1,64-0-32\n\(\t.*\n\)*\trisbg\t%r\[23\],%r5,0,64-10-1,10" { target { ! lp64 } } } } */
  i64 v_anda = v_a & 1023;
  i64 v_shlb = v_b << 10;
  i64 v_or = v_anda | v_shlb;
  return v_or;
}

// Test a case with a single AND and a right shift.
i32 f7 (i32 v_a, i32 v_b)
{
  /* { dg-final { scan-assembler "f7:\n\trisbg\t%r2,%r3,32\\\+8,63,64-8" } } */
  i32 v_anda = v_a & -16777216;
  i32 v_shrb = ((ui32)v_b) >> 8;
  i32 v_or = v_anda | v_shrb;
  return v_or;
}

// ...and again with i64.
i64 f8 (i64 v_a, i64 v_b)
{
  /* { dg-final { scan-assembler "f8:\n\trisbg\t%r2,%r3,8,63,64-8" { target { lp64 } } } } */
  /* With -m31 risbg is not really useful here, so do not test for it.  */
  i64 v_anda = v_a & -72057594037927936;
  i64 v_shrb = ((ui64)v_b) >> 8;
  i64 v_or = v_anda | v_shrb;
  return v_or;
}

// Check that we can get the case where a 64-bit shift feeds a 32-bit or of
// ands with complement masks.
i32 f9 (i64 v_x, i32 v_y)
{
  /* { dg-final { scan-assembler "f9:\n\trisbg\t%r3,%r2,48,63,64-48" { target { lp64 } }} } */
  /* { dg-final { scan-assembler "f9:\n\trisbg\t%r4,%r2,32\\+16,63,64-16" { target { ! lp64 } }} } */
  i64 v_shr6 = ((ui64)v_x) >> 48;
  i32 v_conv = (ui32)v_shr6;
  i32 v_and1 = v_y & -65536;
  i32 v_or = v_conv | v_and1;
  return v_or;
}

// Check that we don't get the case where a 64-bit shift feeds a 32-bit or of
// ands with incompatible masks.
i32 f10 (i64 v_x, i32 v_y)
{
  /* { dg-final { scan-assembler "f10:\n\tsrlg\t%r2,%r2,48\n\trosbg\t%r2,%r3,32,39,0" { target { lp64 } } } } */
  /* { dg-final { scan-assembler "f10:\n\tnilf\t%r4,4278190080\n\trosbg\t%r4,%r2,48,63,48" { target { ! lp64 } } } } */
  i64 v_shr6 = ((ui64)v_x) >> 48;
  i32 v_conv = (ui32)v_shr6;
  i32 v_and1 = v_y & -16777216;
  i32 v_or = v_conv | v_and1;
  return v_or;
}

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