1*7619129fSRichard Henderson /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*7619129fSRichard Henderson /* Copyright (c) 2024 Linaro Ltd */ 3*7619129fSRichard Henderson /* See https://gitlab.com/qemu-project/qemu/-/issues/2375 */ 4*7619129fSRichard Henderson 5*7619129fSRichard Henderson #include <assert.h> 6*7619129fSRichard Henderson main(void)7*7619129fSRichard Hendersonint main(void) 8*7619129fSRichard Henderson { 9*7619129fSRichard Henderson int r, z; 10*7619129fSRichard Henderson 11*7619129fSRichard Henderson asm("msr fpcr, %2\n\t" 12*7619129fSRichard Henderson "fjcvtzs %w0, %d3\n\t" 13*7619129fSRichard Henderson "cset %1, eq" 14*7619129fSRichard Henderson : "=r"(r), "=r"(z) 15*7619129fSRichard Henderson : "r"(0x01000000L), /* FZ = 1 */ 16*7619129fSRichard Henderson "w"(0xfcff00L)); /* denormal */ 17*7619129fSRichard Henderson 18*7619129fSRichard Henderson assert(r == 0); 19*7619129fSRichard Henderson assert(z == 0); 20*7619129fSRichard Henderson return 0; 21*7619129fSRichard Henderson } 22