Skip to content
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

Error when using label difference as immediate for MOV on aarch64 #153

Closed
N00byEdge opened this issue Feb 25, 2020 · 1 comment
Closed

Comments

@N00byEdge
Copy link

To reproduce:
clang -c test.S -target aarch64
test.S:

.section .text
_start:
    MOV X0, L2 - L1 // test.S:3:13: error: expected compatible register or logical immediate
    MOV X1, #0 // Works just fine

L1:
L2:

The amount of data between the labels doesn't seem to matter. Just inserting the calculated values in here works fine.

The code compiles with gas and the difference between the labels is used as the immediate value, the expected behavior.

Is there a different syntax for using this as an immediate value, or is it just not implemented yet? I've tried sticking a breakpoint on ::encodeLogicalImmediate() but it looks like it's not being hit, so I suspect that it would probably be the latter.

Bigcheese pushed a commit to Bigcheese/llvm-project that referenced this issue Feb 27, 2020
[TSan] Add interceptors for mach_vm_[de]allocate
@efriedma-quic
Copy link
Collaborator

Compiles successfully on main.

am11 pushed a commit to am11/llvm-project that referenced this issue Mar 29, 2022
trevor-m pushed a commit to trevor-m/llvm-project that referenced this issue Apr 20, 2023
…llvm#153)

Summary:
We weren't always checking if children are RootStmts in ExtractFunction.

For `void f([[int a]]);`, the ParmVarDecl appeared as a RootStmt since
we didn't perform the check and ended up being casted to a (null) Stmt.

Reviewers: sammccall, kadircet

Subscribers: kristof.beyls, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68182

llvm-svn: 373471
lanza pushed a commit to lanza/llvm-project that referenced this issue Feb 8, 2024
This refactor merges the lowering logic of all the different kinds of
loops into a single function.

It also removes unnecessary LIT tests that validate LLVM dialect to
LLVM IR lowering, as this functionality is not within CIR's scope.

Fixes llvm#153

ghstack-source-id: ebaab859057a6d81f1978fd88701c28402712562
Pull Request resolved: llvm/clangir#156
pysuxing pushed a commit to pysuxing/llvm-project that referenced this issue Jul 17, 2024
This refactor merges the lowering logic of all the different kinds of
loops into a single function.

It also removes unnecessary LIT tests that validate LLVM dialect to
LLVM IR lowering, as this functionality is not within CIR's scope.

Fixes llvm#153

ghstack-source-id: ebaab859057a6d81f1978fd88701c28402712562
Pull Request resolved: llvm/clangir#156
pysuxing pushed a commit to pysuxing/llvm-project that referenced this issue Jul 17, 2024
This refactor merges the lowering logic of all the different kinds of
loops into a single function.

It also removes unnecessary LIT tests that validate LLVM dialect to
LLVM IR lowering, as this functionality is not within CIR's scope.

Fixes llvm#153

ghstack-source-id: ebaab859057a6d81f1978fd88701c28402712562
Pull Request resolved: llvm/clangir#156
keryell pushed a commit to keryell/llvm-project that referenced this issue Oct 19, 2024
This refactor merges the lowering logic of all the different kinds of
loops into a single function.

It also removes unnecessary LIT tests that validate LLVM dialect to
LLVM IR lowering, as this functionality is not within CIR's scope.

Fixes llvm#153

ghstack-source-id: ebaab859057a6d81f1978fd88701c28402712562
Pull Request resolved: llvm/clangir#156
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants