Skip to content

Commit f6f828c

Browse files
committed
Add support for Vector Multiply Add Float on PowerPC
1 parent c3041e8 commit f6f828c

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/etc/platform-intrinsics/powerpc.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,13 @@
219219
"llvm": "vsumsws",
220220
"ret": "s32",
221221
"args": ["0", "0"]
222+
},
223+
{
224+
"intrinsic": "madd",
225+
"width": [128],
226+
"llvm": "vmaddfp",
227+
"ret": "f32",
228+
"args": ["0", "0", "0"]
222229
}
223230
]
224231
}

src/librustc_platform_intrinsics/powerpc.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,11 @@ pub fn find(name: &str) -> Option<Intrinsic> {
397397
output: &::I32x4,
398398
definition: Named("llvm.ppc.altivec.vsumsws")
399399
},
400+
"_vec_madd" => Intrinsic {
401+
inputs: { static INPUTS: [&'static Type; 3] = [&::F32x4, &::F32x4, &::F32x4]; &INPUTS },
402+
output: &::F32x4,
403+
definition: Named("llvm.ppc.altivec.vmaddfp")
404+
},
400405
_ => return None,
401406
})
402407
}

0 commit comments

Comments
 (0)