aboutsummaryrefslogtreecommitdiff
path: root/machine/fp_emulation.h
AgeCommit message (Collapse)AuthorFilesLines
2021-08-04Revert "Revert "Use a global 'tp' register.""Andrew Waterman1-5/+7
This reverts commit 717702ceec053afd424a41ef6a4078d3cbd755b8.
2021-08-04Revert "Use a global 'tp' register."Andrew Waterman1-7/+5
This reverts commit 0d1fdc2e24b7b6247a55d24c13ae85dca7f45695.
2021-08-04Use a global 'tp' register.John Baldwin1-5/+7
clang only supports register variables if they are declared globally.
2021-08-04Revert "machine: correct some additional cases of UB (#246)"Andrew Waterman1-18/+4
This reverts commit e8d15a489fa76612707ff9e99feb0fb36acc9f14.
2021-05-07machine: correct some additional cases of UB (#246)Saleem Abdulrasool1-4/+18
Use of asm aliased register variables in local scope can only be used for extended assembly parameters. This changes the few instances of this in the floating point emulation to use the GNU extended assembly syntax to access the `tp` register. This ensures that we do not rely on undefined behaviour. This was uncovered when building the Proxy kernel with clang and LLVM.
2018-07-09Properly license all nontrivial filesAndrew Waterman1-0/+2
2017-02-15Emulate RVFC instructionsAndrew Waterman1-6/+11
2016-10-25Use __riscv_flen macro to detect FP supportAndrew Waterman1-1/+1
2016-03-09Factor emulation routines into multiple filesAndrew Waterman1-1/+2
2016-03-09Refactor pk, bbl, machine into separate librariesAndrew Waterman1-0/+81
Yuck.