1; RUN: llc < %s -march=x86-64 | grep movd | count 4 2 3define i64 @foo(x86_mmx* %p) { 4 %t = load x86_mmx* %p 5 %u = tail call x86_mmx @llvm.x86.mmx.padd.q(x86_mmx %t, x86_mmx %t) 6 %s = bitcast x86_mmx %u to i64 7 ret i64 %s 8} 9define i64 @goo(x86_mmx* %p) { 10 %t = load x86_mmx* %p 11 %u = tail call x86_mmx @llvm.x86.mmx.padd.d(x86_mmx %t, x86_mmx %t) 12 %s = bitcast x86_mmx %u to i64 13 ret i64 %s 14} 15define i64 @hoo(x86_mmx* %p) { 16 %t = load x86_mmx* %p 17 %u = tail call x86_mmx @llvm.x86.mmx.padd.w(x86_mmx %t, x86_mmx %t) 18 %s = bitcast x86_mmx %u to i64 19 ret i64 %s 20} 21define i64 @ioo(x86_mmx* %p) { 22 %t = load x86_mmx* %p 23 %u = tail call x86_mmx @llvm.x86.mmx.padd.b(x86_mmx %t, x86_mmx %t) 24 %s = bitcast x86_mmx %u to i64 25 ret i64 %s 26} 27 28declare x86_mmx @llvm.x86.mmx.padd.b(x86_mmx, x86_mmx) 29declare x86_mmx @llvm.x86.mmx.padd.w(x86_mmx, x86_mmx) 30declare x86_mmx @llvm.x86.mmx.padd.d(x86_mmx, x86_mmx) 31declare x86_mmx @llvm.x86.mmx.padd.q(x86_mmx, x86_mmx) 32