| /* | |
| * Test the LAALG instruction. | |
| * | |
| * SPDX-License-Identifier: GPL-2.0-or-later | |
| */ | |
| #include <assert.h> | |
| #include <stdlib.h> | |
| int main(void) | |
| { | |
| unsigned long cc = 0, op1, op2 = 40, op3 = 2; | |
| asm("slgfi %[cc],1\n" /* Set cc_src = -1. */ | |
| "laalg %[op1],%[op3],%[op2]\n" | |
| "ipm %[cc]" | |
| : [cc] "+r" (cc) | |
| , [op1] "=r" (op1) | |
| , [op2] "+T" (op2) | |
| : [op3] "r" (op3) | |
| : "cc"); | |
| assert(cc == 0xffffffff10ffffff); | |
| assert(op1 == 40); | |
| assert(op2 == 42); | |
| return EXIT_SUCCESS; | |
| } |