Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.target/arm/rev16.c @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-options "-O2" } */ /* { dg-do run } */ extern void abort (void); typedef unsigned int __u32; __u32 __rev16_32_alt (__u32 x) { return (((__u32)(x) & (__u32)0xff00ff00UL) >> 8) | (((__u32)(x) & (__u32)0x00ff00ffUL) << 8); } __u32 __rev16_32 (__u32 x) { return (((__u32)(x) & (__u32)0x00ff00ffUL) << 8) | (((__u32)(x) & (__u32)0xff00ff00UL) >> 8); } int main (void) { volatile __u32 in32 = 0x12345678; volatile __u32 expected32 = 0x34127856; if (__rev16_32 (in32) != expected32) abort (); if (__rev16_32_alt (in32) != expected32) abort (); return 0; }