| { |
| "intrinsic_prefix": "_mm", |
| "llvm_prefix": "llvm.x86.fma.", |
| "intrinsics": [ |
| { |
| "intrinsic": "{0.width_mm}_fmadd_{0.data_type}", |
| "width": [128, 256], |
| "llvm": "vfmadd.{0.data_type_short}{0.width_suffix}", |
| "ret": "f(32-64)", |
| "args": ["0", "0", "0"] |
| }, |
| { |
| "intrinsic": "{0.width_mm}_fmaddsub_{0.data_type}", |
| "width": [128, 256], |
| "llvm": "vfmaddsub.{0.data_type_short}{0.width_suffix}", |
| "ret": "f(32-64)", |
| "args": ["0", "0", "0"] |
| }, |
| { |
| "intrinsic": "{0.width_mm}_fmsub_{0.data_type}", |
| "width": [128, 256], |
| "llvm": "vfmsub.{0.data_type_short}{0.width_suffix}", |
| "ret": "f(32-64)", |
| "args": ["0", "0", "0"] |
| }, |
| { |
| "intrinsic": "{0.width_mm}_fmsubadd_{0.data_type}", |
| "width": [128, 256], |
| "llvm": "vfmsubadd.{0.data_type_short}{0.width_suffix}", |
| "ret": "f(32-64)", |
| "args": ["0", "0", "0"] |
| }, |
| { |
| "intrinsic": "{0.width_mm}_fnmadd_{0.data_type}", |
| "width": [128, 256], |
| "llvm": "vfnmadd.{0.data_type_short}{0.width_suffix}", |
| "ret": "f(32-64)", |
| "args": ["0", "0", "0"] |
| }, |
| { |
| "intrinsic": "{0.width_mm}_fnmsub_{0.data_type}", |
| "width": [128, 256], |
| "llvm": "vfnmsub.{0.data_type_short}{0.width_suffix}", |
| "ret": "f(32-64)", |
| "args": ["0", "0", "0"] |
| } |
| ] |
| } |