DanielKristofKiss wrote:
> I think this is OK but do you know if the dsp side works with cortex-m?
> Target attributes are less likely to be used there, but it's worth testing if
> the command line args are still all happy.
This seems works fine:
```c
#include <arm_acle.h>
int dsp() {
return __smlabb(1,3,4);
}
```
cat dpp.c | bin/clang dpp.c -O2 -target thumb-none-gnueabi -mcpu=cortex-m4 -c
-o - | llvm-objdump -d -
```
<stdin>: file format elf32-littlearm
Disassembly of section .text:
00000000 <dsp>:
0: 2004 movs r0, #0x4
2: 2103 movs r1, #0x3
4: 2201 movs r2, #0x1
6: fb12 0001 smlabb r0, r2, r1, r0
a: 4770 bx lr
```
could be added to the clang/test/Codegen/acle_test.c too. but we seem don't
have too many M class test for these things...
```
// RUN: %clang_cc1 -ffreestanding -triple thumbv7em-unknown-none-gnueabi
-target-feature -crc -target-feature +dsp -O0 -disable-O0-optnone -emit-llvm -o
- %s | opt -S -passes=mem2reg | FileCheck %s -check-prefixes=ARM,AArch32`
``
https://github.com/llvm/llvm-project/pull/107417
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits