28 lines
539 B
C
28 lines
539 B
C
|
/*
|
||
|
* 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;
|
||
|
}
|