On 02/10/2019 08:49 PM, Wolfram Sang wrote: >>>> + return ireg ? true : false; >>> >>> return ireg; >>> >>> ? >> >> How about !!ireg? > > Better. Still, I wonder how this cast is gonna be different from the > cast being done because the return value is declared bool. At least all the variants result in the same (quite bad) code with AArch64 and ARM gcc 4.8.5. Like this one: mov w0, 1 // D.41524, cbnz w23, .L353 // ireg, .L297: mov w0, 0 // D.41524, b .L353 // MBR, Sergei