-
Notifications
You must be signed in to change notification settings - Fork 855
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failure of UMUL16(X) instruction #1051
Comments
Hi @eflaner, sorry, I can't reproduce your error in my environment. |
gcc version 11.2.0 (Ubuntu 11.2.0-19ubuntu1) |
@hope51607 My bad, the zipped elf was wrong one - isn't coherent with the inputs. |
@eflaner I tried the new elf but the answer is still correct. #include <rvp_intrinsic.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
int main() {
uint64_t result = __rv__umul16(0X7A3D52BEE581FA73, 0X253EFDD7C7D6AE42);
printf("%016llx",result);
return 0;
} I think the cause of the umul16 wrong is the compiler version. |
@hope51607 I'm actually using .word substitution instead of
|
@hope51607
|
@hope51607 it seems this discussion was left with some unanswered questions; can you please document here how you were finally able to recreate the issue? |
@scottj97 of course, below is how I recreate the issue. I reproduced the problem on GCC version 6.4.0 20180424 (Ubuntu 6.4.0-17ubuntu1). |
Fixed with #1053 |
Instruction: 0XB1070677
Name of Instruction: UMUL16 (P-ext)
31..25 = 0b1011000
14..12 = 0b000
XLEN = RV64
operands:
result:
elf attached as zip - generated using GNU Toolchain
runs on spike by running the command
spike --isa=rv64ip +signature=/dev/stdout tmpwfs3nkz1.elf signature-granularity=8
The text was updated successfully, but these errors were encountered: