[llvm-bugs] [Bug 30885] New: conversion from double to unsigned raises invalid operation
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed Nov 2 07:13:11 PDT 2016
https://llvm.org/bugs/show_bug.cgi?id=30885
Bug ID: 30885
Summary: conversion from double to unsigned raises invalid
operation
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: X86
Assignee: unassignedbugs at nondot.org
Reporter: jay.foad at gmail.com
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
I don't know if this counts as a bug, but it's certainly an annoyance in my
application: conversion from double to unsigned can raise an FP invalid
operation exception, even when the value being converted fits in the result
type.
$ cat fptoui.c
#include <stdio.h>
unsigned fptoui(double d) {
return (unsigned)d;
}
int main() {
printf("%04x\n", __builtin_ia32_stmxcsr());
fptoui(3e9);
printf("%04x\n", __builtin_ia32_stmxcsr());
}
$ ~/llvm/build/bin/clang --version
clang version 4.0.0 (trunk) (llvm/trunk 285680)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/jay/llvm/build/bin
$ clang -m32 -msse2 -o fptoui fptoui.c && ./fptoui
1f80
1f81
The "1f81" in the last line indicates that the invalid operation bit has been
set in mxcsr register.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161102/5c9687f1/attachment.html>
More information about the llvm-bugs
mailing list