Viewing file: csinv-neg-1.c (1.44 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do compile } */ /* { dg-options "-O2" } */
/* ** inv1: ** cmp w0, 0 ** csinv w0, w1, w2, ne ** ret */ unsigned long long inv1(unsigned a, unsigned b, unsigned c) { unsigned t = a ? b : ~c; return t; }
/* ** inv1_local: ** cmp w0, 0 ** csinv w0, w1, w2, ne ** ret */ unsigned long long inv1_local(unsigned a, unsigned b, unsigned c) { unsigned d = ~c; unsigned t = a ? b : d; return t; }
/* ** inv_zero1: ** cmp w0, 0 ** csinv w0, wzr, w1, ne ** ret */ unsigned long long inv_zero1(unsigned a, unsigned b) { unsigned t = a ? 0 : ~b; return t; }
/* ** inv_zero2: ** cmp w0, 0 ** csinv w0, wzr, w1, eq ** ret */ unsigned long long inv_zero2(unsigned a, unsigned b) { unsigned t = a ? ~b : 0; return t; }
/* ** inv2: ** cmp w0, 0 ** csinv w0, w2, w1, eq ** ret */ unsigned long long inv2(unsigned a, unsigned b, unsigned c) { unsigned t = a ? ~b : c; return t; }
/* ** inv2_local: ** cmp w0, 0 ** csinv w0, w2, w1, eq ** ret */ unsigned long long inv2_local(unsigned a, unsigned b, unsigned c) { unsigned d = ~b; unsigned t = a ? d : c; return t; }
/* ** neg1: ** cmp w0, 0 ** csneg w0, w1, w2, ne ** ret */ unsigned long long neg1(unsigned a, unsigned b, unsigned c) { unsigned t = a ? b : -c; return t; }
/* ** neg2: ** cmp w0, 0 ** csneg w0, w2, w1, eq ** ret */ unsigned long long neg2(unsigned a, unsigned b, unsigned c) { unsigned t = a ? -b : c; return t; }
/* { dg-final { check-function-bodies "**" "" "" } } */
|