| /* { dg-do compile } */ |
| /* { dg-options "-Os" } */ |
| |
| typedef unsigned char u8; |
| typedef unsigned short u16; |
| signed int Xa, Xb; |
| |
| signed int stzreg_beq(int i, int a, int b) |
| { |
| signed int x; |
| x = a; |
| if (i) |
| x = b; |
| return x; |
| } |
| |
| /* { dg-final { scan-assembler "bne 1f" } } */ |
| |
| signed int stzreg_bge(int i, int a, int b, int c) |
| { |
| signed int x; |
| x = a; |
| if (i<c) |
| x = b; |
| return x; |
| } |
| |
| /* { dg-final { scan-assembler "blt 1f" } } */ |
| |
| signed int stzreg_bgt(int i, int a, int b) |
| { |
| signed int x; |
| x = a; |
| if (i<10) |
| x = b; |
| return x; |
| } |
| |
| /* { dg-final { scan-assembler "ble 1f" } } */ |
| |
| signed int stzreg_ble(int i, int a, int b) |
| { |
| signed int x; |
| x = a; |
| if (i>0) |
| x = b; |
| return x; |
| } |
| |
| /* { dg-final { scan-assembler "bgt 1f" } } */ |
| |
| signed int stzreg_blt(int i, int a, int b) |
| { |
| signed int x; |
| x = a; |
| if (i<0) |
| x = b; |
| return x; |
| } |
| |
| /* { dg-final { scan-assembler "blt 1f" } } */ |
| |
| signed int stzreg_bne(int i, int a, int b) |
| { |
| signed int x; |
| x = a; |
| if (!i) |
| x = b; |
| return x; |
| } |
| |
| /* { dg-final { scan-assembler "beq 1f" } } */ |
| |
| signed int stzimm_le( int i, int a ) |
| { |
| signed int x; |
| x = a; |
| if (i>0) |
| x = 5; |
| return x; |
| } |
| |
| /* { dg-final { scan-assembler "ble 1f" } } */ |
| |
| signed int stzimm_le_r( int i, int a ) |
| { |
| signed int x; |
| x = a; |
| if (i<0) |
| x = 5; |
| return x; |
| } |
| |
| /* { dg-final { scan-assembler "bge 1f" } } */ |