OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [gcc.target/] [mips/] [int-moves-1.c] - Blame information for rev 338

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 321 jeremybenn
/* { dg-options "(-mips16) -mgp64 -O2 -EL" } */
2
 
3
typedef unsigned uint128_t __attribute__((mode(TI)));
4
 
5
extern uint128_t g[16];
6
extern unsigned char gstuff[0x10000];
7
 
8
NOMIPS16 uint128_t
9
foo (uint128_t i1, uint128_t i2, uint128_t i3, uint128_t i4,
10
     uint128_t *x, unsigned char *lstuff)
11
{
12
  g[0] = i1;
13
  g[1] = i2;
14
  g[2] = i3;
15
  g[3] = i4;
16
  x[0] = x[4];
17
  x[1] = 0;
18
  x[2] = ((uint128_t) 0x123456789abcdefULL << 64) | 0xaabbccddeeff1122ULL;
19
  x[3] = g[4];
20
  x[4] = *(uint128_t *) (lstuff + 0x7fff);
21
  return *(uint128_t *) (gstuff + 0x7fff);
22
}
23
 
24
MIPS16 uint128_t
25
bar (uint128_t i1, uint128_t i2, uint128_t i3, uint128_t i4,
26
     uint128_t *x, unsigned char *lstuff)
27
{
28
  g[0] = i1;
29
  g[1] = i2;
30
  g[2] = i3;
31
  g[3] = i4;
32
  x[0] = x[4];
33
  x[1] = 0;
34
  x[2] = ((uint128_t) 0x123456789abcdefULL << 64) | 0xaabbccddeeff1122ULL;
35
  x[3] = g[4];
36
  x[4] = *(uint128_t *) (lstuff + 0x7fff);
37
  return *(uint128_t *) (gstuff + 0x7fff);
38
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.