/* | |
* Test the LARL instruction. | |
* | |
* SPDX-License-Identifier: GPL-2.0-or-later | |
*/ | |
#include <stdlib.h> | |
int main(void) | |
{ | |
long algfi = (long)main; | |
long larl; | |
/* | |
* The compiler may emit larl for the C addition, so compute the expected | |
* value using algfi. | |
*/ | |
asm("algfi %[r],0xd0000000" : [r] "+r" (algfi) : : "cc"); | |
asm("larl %[r],main+0xd0000000" : [r] "=r" (larl)); | |
return algfi == larl ? EXIT_SUCCESS : EXIT_FAILURE; | |
} |