https://bugs.llvm.org/show_bug.cgi?id=52230

            Bug ID: 52230
           Summary: Assertion failure when inline assembly referencing
                    floating point registers is used on soft-float targets
           Product: libraries
           Version: trunk
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: ARM
          Assignee: unassignedb...@nondot.org
          Reporter: kosov.pa...@huawei.com
                CC: llvm-bugs@lists.llvm.org, smithp...@googlemail.com,
                    ties.st...@arm.com

We have a problem which triggers assertion failure (or UB) when inline assembly
referencing floating point registers is used on soft-float targets
(arm-linux-gnueabi, arm-linux-android). Asserion is triggered in backend which
tries to lower FP register access without FP registers available (target
feature “-fpregs” is passed to backend by clang).

Steps to reproduce:

Given code sample `f.c`

```
float f(float x) { __asm__("vsqrt.f32 %0, %1": "=w"(x) : "t"(x)); return x; }
```

Compile it to arm-linux-gnueabi target with

`clang  -target arm-linux-gnueabi  -c f.c`

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to