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

Preliminary lowering support for M68kISD::(S|U)MUL #25

Open
mshockwave opened this issue Mar 27, 2023 · 0 comments
Open

Preliminary lowering support for M68kISD::(S|U)MUL #25

mshockwave opened this issue Mar 27, 2023 · 0 comments
Assignees

Comments

@mshockwave
Copy link
Member

In some cases, specifically when lowering select, we will lower to our own M68kISD::(U|S)MUL first before isel-ing to real instructions. In order to account for overflow bit usages. For instance:

entry:
  %1 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %0, i32 8)
  %2 = extractvalue { i32, i1 } %1, 1
  %3 = select i1 %2, i32 0, i32 %0

However we never bothered (or forgot) to do the isel part 😛 . This patch add preliminary supports for such thing

Local commit: 278701a

@mshockwave mshockwave self-assigned this Mar 27, 2023
@mshockwave mshockwave converted this from a draft issue Mar 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

1 participant