.balign 4 | |
.global main | |
.type main, @function | |
main: | |
# 2.0f -> x2 | |
li x2, 0x40000000 | |
# x2 -> ft0 | |
fmv.w.x ft0, x2 | |
# Read the fflags CSR into x1 | |
csrr x1, fflags | |
# Issue sqrt(2.0), which should set the inexact flag | |
fsqrt.s ft1, ft0 | |
# Read fflags, and compare to the previous value. | |
csrr x3, fflags | |
# If the flags register did not change, we have an error. | |
beq x1, x3, 1f | |
.word 0x08000073 | |
1: | |
ebreak |