<div dir="ltr"><div class="markdown-here-wrapper" style=""><p style="margin:0px 0px 1.2em!important">Hello,</p>
<p style="margin:0px 0px 1.2em!important">I’m not sure if this is the right place to ask beginner questions.</p>
<p style="margin:0px 0px 1.2em!important">If not, please direct me to the appropriate place.</p>
<p style="margin:0px 0px 1.2em!important">I’m writing my first <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">llvm</code> program and I’m trying to call an intrinsic, but failing.</p>
<p style="margin:0px 0px 1.2em!important">So far this is what I have:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important">declare ccc i32 @llvm.x86.bmi.pdep.32(i32, i32)

@.str2 = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1

declare i32 @printf(i8*, ...) nounwind

; Definition of main function
define i32 @main() {
  %res = call ccc i32 (i32, i32) @llvm.x86.bmi.pdep.32( i32 1, i32 1 )

  %a = alloca i32, align 8
  %1 = load i32, i32* %a, align 8
  %ss = getelementptr inbounds [4 x i8], [4 x i8]*  @.str2, i32 0, i32 0
  call i32 (i8*, ...) @printf( i8* %ss, i32 %res)

  ret i32 0
}
</code></pre><p style="margin:0px 0px 1.2em!important">When I run this code, I get the following error:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important">$ lli helloWorld.ll
LLVM ERROR: Cannot select: intrinsic %llvm.x86.bmi.pdep.32
</code></pre><p style="margin:0px 0px 1.2em!important">Where am I going wrong?</p>
<p style="margin:0px 0px 1.2em!important">Also, what’s the best resource for learning <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">llvm</code>?</p>
<p style="margin:0px 0px 1.2em!important">Cheers,</p>
<p style="margin:0px 0px 1.2em!important">-John</p>
<div title="MDH:SGVsbG8sPGRpdj48YnI+PC9kaXY+PGRpdj5JJ20gbm90IHN1cmUgaWYgdGhpcyBpcyB0aGUgcmln
aHQgcGxhY2UgdG8gYXNrIGJlZ2lubmVyIHF1ZXN0aW9ucy48L2Rpdj48ZGl2Pjxicj48L2Rpdj48
ZGl2PklmIG5vdCwgcGxlYXNlIGRpcmVjdCBtZSB0byB0aGUgYXBwcm9wcmlhdGUgcGxhY2UuPC9k
aXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JJ20gd3JpdGluZyBteSBmaXJzdCBgbGx2bWAgcHJvZ3Jh
bSBhbmQgSSdtIHRyeWluZyB0byBjYWxsIGFuIGludHJpbnNpYywgYnV0IGZhaWxpbmcuPC9kaXY+
PGRpdj48YnI+PC9kaXY+PGRpdj5TbyBmYXIgdGhpcyBpcyB3aGF0IEkgaGF2ZTo8L2Rpdj48ZGl2
Pjxicj48L2Rpdj48ZGl2PmBgYDwvZGl2PjxkaXY+PGRpdj5kZWNsYXJlIGNjYyBpMzIgQGxsdm0u
eDg2LmJtaS5wZGVwLjMyKGkzMiwgaTMyKTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+QC5zdHIy
ID0gcHJpdmF0ZSB1bm5hbWVkX2FkZHIgY29uc3RhbnQgWzQgeCBpOF0gYyIlZFwwQVwwMCIsIGFs
aWduIDE8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PmRlY2xhcmUgaTMyIEBwcmludGYoaTgqLCAu
Li4pIG5vdW53aW5kPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj47IERlZmluaXRpb24gb2YgbWFp
biBmdW5jdGlvbjwvZGl2PjxkaXY+ZGVmaW5lIGkzMiBAbWFpbigpIHs8L2Rpdj48ZGl2PiZuYnNw
OyAlcmVzID0gY2FsbCBjY2MgaTMyIChpMzIsIGkzMikgQGxsdm0ueDg2LmJtaS5wZGVwLjMyKCBp
MzIgMSwgaTMyIDEgKTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7ICVhID0gYWxsb2Nh
IGkzMiwgYWxpZ24gODwvZGl2PjxkaXY+Jm5ic3A7ICUxID0gbG9hZCBpMzIsIGkzMiogJWEsIGFs
aWduIDg8L2Rpdj48ZGl2PiZuYnNwOyAlc3MgPSBnZXRlbGVtZW50cHRyIGluYm91bmRzIFs0IHgg
aThdLCBbNCB4IGk4XSombmJzcDsgQC5zdHIyLCBpMzIgMCwgaTMyIDA8L2Rpdj48ZGl2PiZuYnNw
OyBjYWxsIGkzMiAoaTgqLCAuLi4pIEBwcmludGYoIGk4KiAlc3MsIGkzMiAlcmVzKTwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+Jm5ic3A7IHJldCBpMzIgMDwvZGl2PjxkaXY+fTwvZGl2PjwvZGl2
PjxkaXY+YGBgPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5XaGVuIEkgcnVuIHRoaXMgY29kZSwg
SSBnZXQgdGhlIGZvbGxvd2luZyBlcnJvcjo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PmBgYDwv
ZGl2PjxkaXY+PGRpdj4kIGxsaSBoZWxsb1dvcmxkLmxsPC9kaXY+PGRpdj5MTFZNIEVSUk9SOiBD
YW5ub3Qgc2VsZWN0OiBpbnRyaW5zaWMgJWxsdm0ueDg2LmJtaS5wZGVwLjMyPC9kaXY+PC9kaXY+
PGRpdj5gYGA8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PldoZXJlIGFtIEkgZ29pbmcgd3Jvbmc/
PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5BbHNvLCB3aGF0J3MgdGhlIGJlc3QgcmVzb3VyY2Ug
Zm9yIGxlYXJuaW5nIGBsbHZtYD88L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkNoZWVycyw8L2Rp
dj48ZGl2Pjxicj48L2Rpdj48ZGl2Pi1Kb2huPC9kaXY+PGRpdj48L2Rpdj4=" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div></div><div><br></div></div>