1.1 --- a/src/cpu/ppc/vm/vm_version_ppc.cpp Mon Sep 24 17:18:38 2018 -0400 1.2 +++ b/src/cpu/ppc/vm/vm_version_ppc.cpp Thu Sep 22 12:17:24 2016 +0200 1.3 @@ -102,7 +102,7 @@ 1.4 // Create and print feature-string. 1.5 char buf[(num_features+1) * 16]; // Max 16 chars per feature. 1.6 jio_snprintf(buf, sizeof(buf), 1.7 - "ppc64%s%s%s%s%s%s%s%s%s", 1.8 + "ppc64%s%s%s%s%s%s%s%s%s%s", 1.9 (has_fsqrt() ? " fsqrt" : ""), 1.10 (has_isel() ? " isel" : ""), 1.11 (has_lxarxeh() ? " lxarxeh" : ""), 1.12 @@ -112,7 +112,8 @@ 1.13 (has_popcntw() ? " popcntw" : ""), 1.14 (has_fcfids() ? " fcfids" : ""), 1.15 (has_vand() ? " vand" : ""), 1.16 - (has_vcipher() ? " aes" : "") 1.17 + (has_vcipher() ? " aes" : ""), 1.18 + (has_vpmsumb() ? " vpmsumb" : "") 1.19 // Make sure number of %s matches num_features! 1.20 ); 1.21 _features_str = strdup(buf); 1.22 @@ -485,6 +486,7 @@ 1.23 a->fcfids(F3, F4); // code[8] -> fcfids 1.24 a->vand(VR0, VR0, VR0); // code[9] -> vand 1.25 a->vcipher(VR0, VR1, VR2); // code[10] -> vcipher 1.26 + a->vpmsumb(VR0, VR1, VR2); // code[11] -> vpmsumb 1.27 a->blr(); 1.28 1.29 // Emit function to set one cache line to zero. Emit function descriptor and get pointer to it. 1.30 @@ -529,6 +531,7 @@ 1.31 if (code[feature_cntr++]) features |= fcfids_m; 1.32 if (code[feature_cntr++]) features |= vand_m; 1.33 if (code[feature_cntr++]) features |= vcipher_m; 1.34 + if (code[feature_cntr++]) features |= vpmsumb_m; 1.35 1.36 // Print the detection code. 1.37 if (PrintAssembly) {