UNSPEC_FPINT_CEIL
UNSPEC_FPINT_NEARBYINT
- UNSPEC_BITREV
-
UNSPEC_ALLOCA
UNSPEC_SET_SOFTSTACK
(define_insn "bitrev<mode>2"
[(set (match_operand:SDIM 0 "nvptx_register_operand" "=R")
- (unspec:SDIM [(match_operand:SDIM 1 "nvptx_register_operand" "R")]
- UNSPEC_BITREV))]
+ (bitreverse:SDIM (match_operand:SDIM 1 "nvptx_register_operand" "R")))]
""
"%.\\tbrev.b%T0\\t%0, %1;")
/* { dg-do run } */
/* { dg-options "-O2" } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { check-function-bodies {**} {} } } */
inline __attribute__((always_inline))
unsigned int bitreverse32(unsigned int x)
return 0;
}
-/*
-** main:
-** ...
-** mov\.u32 (%r[0-9]+), 0;
-** brev\.b32 (%r[0-9]+), \1;
-** setp\.[^.]+\.u32 %r[0-9]+, \2, 0;
-** ...
-** mov\.u32 (%r[0-9]+), -1;
-** brev\.b32 (%r[0-9]+), \3;
-** setp\.[^.]+\.u32 %r[0-9]+, \4, -1;
-** ...
-** mov\.u32 (%r[0-9]+), 1;
-** brev\.b32 (%r[0-9]+), \5;
-** setp\.[^.]+\.u32 %r[0-9]+, \6, -2147483648;
-** ...
-** mov\.u32 (%r[0-9]+), 2;
-** brev\.b32 (%r[0-9]+), \7;
-** setp\.[^.]+\.u32 %r[0-9]+, \8, 1073741824;
-** ...
-*/
-/* { dg-final { scan-assembler-times {\tbrev\.b32\t} 40 } } */
-/* { dg-final { scan-assembler {\mabort\M} } } */
+/* { dg-final { scan-assembler-not {\tbrev\.b32\t} } } */
+/* { dg-final { scan-assembler-not {\mabort\M} } } */
/* { dg-do run } */
/* { dg-options "-O2" } */
/* { dg-additional-options -save-temps } */
-/* { dg-final { check-function-bodies {**} {} } } */
inline __attribute__((always_inline))
unsigned long long bitreverse64(unsigned long long x)
return 0;
}
-/*
-** main:
-** ...
-** mov\.u64 (%r[0-9]+), 0;
-** brev\.b64 (%r[0-9]+), \1;
-** setp\.[^.]+\.u64 %r[0-9]+, \2, 0;
-** ...
-** mov\.u64 (%r[0-9]+), -1;
-** brev\.b64 (%r[0-9]+), \3;
-** setp\.[^.]+\.u64 %r[0-9]+, \4, -1;
-** ...
-** mov\.u64 (%r[0-9]+), 1;
-** brev\.b64 (%r[0-9]+), \5;
-** setp\.[^.]+\.u64 %r[0-9]+, \6, -9223372036854775808;
-** ...
-** mov\.u64 (%r[0-9]+), 2;
-** brev\.b64 (%r[0-9]+), \7;
-** setp\.[^.]+\.u64 %r[0-9]+, \8, 4611686018427387904;
-** ...
-*/
-/* { dg-final { scan-assembler-times {\tbrev\.b64\t} 70 } } */
-/* { dg-final { scan-assembler {\mabort\M} } } */
+/* { dg-final { scan-assembler-not {\tbrev\.b64\t} } } */
+/* { dg-final { scan-assembler-not {\mabort\M} } } */