Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

aarch64/x86_64 NCG miscompiles %i2f64 with subword operand
```cmm #include "Cmm.h" sfround8zh (W_ x) { I8 b; D_ f; b = %lobits8(x); f = %i2f64(b); return (%f2w_bitcast(f)); } ``` ```haskell {-# LANGUAGE GHCForeignImportPrim, MagicHash, UnliftedFFITypes #-} import GHC.Exts import Numeric (showHex) foreign import prim "sfround8zh" sfround8# :: Word# -> Word# main :: IO () main = putStrLn ("0x" ++ showHex (W# (sfround8# 0xFF##)) "") -- expected 0xbff0000000000000 (-1.0) ``` on aarch64-linux, compile and run the above example with `-fllvm`, it produces `0xbff0000000000000`. without `-fllvm`, it produces `0x406fe00000000000`. on x86_64-linux, with `-fllvm` it also produces `0xbff0000000000000`. without `-fllvm`, it fails at compile-time: ``` /tmp/ghc40878_tmp_0/ghc_tmp_4.s:7:2: error: error: invalid instruction mnemonic 'cvtsi2sdb' cvtsi2sdb %bl,%xmm0 ^~~~~~~~~ | 7 | cvtsi2sdb %bl,%xmm0 | ^ `clang' failed in phase `Assembler'. (Exit code: 1) ```
issue