This will do it:
SELECT [companyName],
SUM(CASE WHEN gender='M' THEN 1 ELSE 0 END) AS M,
(SUM(CASE WHEN gender='M' THEN 1 ELSE 0 END)*100)/COUNT(*) AS MPercent,
SUM(CASE WHEN gender='F' THEN 1 ELSE 0 END) AS F,
(SUM(CASE WHEN gender='F' THEN 1 ELSE 0 END)*100)/COUNT(*) AS MPercent
FROM [tempdb].[dbo].[companyTable]
GROUP BY companyName
In response to your comment, you simply need to put a seperate query within the select clause:
SELECT [companyName],
SUM(CASE WHEN gender='M' THEN 1 ELSE 0 END) AS M,
(SUM(CASE WHEN gender='M' THEN 1 ELSE 0 END)*100)/COUNT(*) AS MPercent,
(SUM(CASE WHEN gender='M' THEN 1 ELSE 0 END)*100)/(SELECT COUNT(*) FROM companyTable) AS MTotalPercent,
SUM(CASE WHEN gender='F' THEN 1 ELSE 0 END) AS F,
(SUM(CASE WHEN gender='F' THEN 1 ELSE 0 END)*100)/COUNT(*) AS FPercent,
(SUM(CASE WHEN gender='F' THEN 1 ELSE 0 END)*100)/(SELECT COUNT(*) FROM companyTable) AS FTotalPercent,
FROM companyTable
GROUP BY companyName