1 /* 2 * Test the LARL instruction. 3 * 4 * SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 #include <stdlib.h> 7 8 int main(void) 9 { 10 long algfi = (long)main; 11 long larl; 12 13 /* 14 * The compiler may emit larl for the C addition, so compute the expected 15 * value using algfi. 16 */ 17 asm("algfi %[r],0xd0000000" : [r] "+r" (algfi) : : "cc"); 18 asm("larl %[r],main+0xd0000000" : [r] "=r" (larl)); 19 20 return algfi == larl ? EXIT_SUCCESS : EXIT_FAILURE; 21 } 22